类模板
#pragma once
#include
template<typename Type, int MAXSIZE>
class stack
{
private:Type* info;int top_;
public:stack() {info = new Type[MAXSIZE];top_ = 0;}~stack() {delete[] info;}bool empty() {return (!top_);}int size() {return top_;}Type top() {assert(top_);return info[top_ - 1];}void push(Type ins) {assert(top_ < MAXSIZE - 1);info[top_++] = ins;}void pop() {assert(top_);top_--;}
};
ACM简单实现
const int MAXSIZE = 10;
int info[MAXSIZE + 1], top = 0;
inline void push(int ins) {info[top++] = ins;
}
inline void pop() { top--; }
STL实现
#include
#include
using namespace std;int main()
{stack<int> arr;arr.push(1);arr.push(2);cout << arr.top() << endl;cout << arr.size() << endl;cout << arr.empty() << endl;arr.pop();return 0;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!