iT邦幫忙

DAY 24
0

學習技術筆記系列 第 19

Day24[C++]static stack

  • 分享至 

  • xImage
  •  

以靜態方式實作堆疊
#include <iostream>
using namespace std;

template<typename T,int MAX_SIZE>
class SampleStack {
private:
T mem[MAX_SIZE];
int sp;

public:
SampleStack():sp(0) {}

inline const T pop() {
if(this->empty()) {
return T();
}
else {
return this->mem[--sp];
}
}

inline const bool push(const T &x) {
if(this->full()) {
return false;
}
else {
this->mem[sp++] = x;
return true;
}
}

inline const int size() {
return this->sp;
}
inline const bool full() {
return (this->sp >= MAX_SIZE);
}

inline const bool empty() {
return (this->sp == 0);
}
};

int main()
{
SampleStack<int, 3> t;

t.push(5);
t.push(3);
t.push(10);
cout << t.push(55) << endl;

cout << "Size: " << t.size()<<endl;

cout << "Pop 1: " << t.pop() << endl;
cout << "Pop 2: " << t.pop() << endl;
cout << "Pop 3: " << t.pop() << endl;
cout << "Pop 4: " << t.pop() << endl;

cout << "Size: " << t.size()<<endl;

return 0;
}


上一篇
Day23[C++]左右為難的小偷
下一篇
Day25[C++]opencv 取用相機影像及影片
系列文
學習技術筆記22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言