用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 思路 從字串開頭與末端同時遍歷字...