每日一題18 棧

2021-06-29 16:18:12 字數 1348 閱讀 7899

用c++寫了乙個棧模板,其間用了一些《effective c++》的準則,記錄在這裡嘍。這個類還沒有做到異常安全,以後改進!

stack.h檔案。

#ifndef _stack_h_

#define _stack_h_

namespace mydatastructure

void init(int capacity)

void copy(const stack& s)

}void destroy()

public:

stack() : capacity(0),top(0),vals(null){};

stack(int capacity)

:capacity(capacity),top(0)

stack(const stack& s)

stack& operator = (const stack& s)

~stack()

bool resize(int capacity)

else

capacity = capacity;

delete vals;

vals = vals;

}else

init(capacity);

return

true;

}bool push(t val)

return

false;

}bool pop(t& val)

return

false;

}bool top(t &val)

return

false;

}void clear()

void size()

bool empty()

bool full()

};}#endif

下面是測試函式:

stacktest.cpp

// stacktest.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include "stack.h"

#include

using

namespace mydatastructure;

using

namespace

std;

int _tmain(int argc, _tchar* argv)

stack s2(s1);

s1.resize(20);

for (int i = 1; i < 11; ++i)

}cout

}cout

0;}

每日一題 1 8 set false path

18.以下關與false path正確的是 a a.一般非同步電路可以設定為false path b.兩個不同頻率的介面一定可以設定為false path c.一般非同步復位可以設定為false path d.一般模擬ip和系統的互聯介面都可以設定為false path 分析 false pth就是...

每日一題(18) poj1159

1.自己思考思路的時候開始覺得用動態規劃,但是想不出公式。後來覺得如果把輸入的字串反過來,然後和原來的字串相比求最大序列,然後答案就是原來的序列減去最大序列了。因為無法匹配的肯定需要新增。可以匹配的話就一定會出現在最大序列裡面。這可以用反證法證明。解決了方法的問題。下面就是 其實就是乙個最大序列匹配...

每日一題 18 驗證回文串

給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false 思路 從字串開頭與末端同時遍歷字...