stack2链栈
2024-09-06 01:18:05
#include<iostream>
using namespace std;
template <class Object>
class Stack{
private:
struct Node{
Object data;
Node * next;
Node(const Object & theelem , Node * n = NULL)
:data(theelem),next(n){}
};
Node * topOfStack;
int stacklen;
public:
Stack(Object & x)
{
Node * p = new Node(x);
topOfStack = p;
stacklen = 0;
}
void makeEmpty()
{
while(isEmpty())
{
Node * p = new Node();
p = topOfStack;
topOfStack = topOfStack -> next;
delete p;
}
}
bool isEmpty() const
{
if(NULL == topOfStack)
return true;
return false;
}
Object Top() const
{
return topOfStack -> data;
}
void Pop()
{
if(!isEmpty())
{
Node * p = topOfStack;
cout<<p->data<<" ";
topOfStack = topOfStack -> next;
delete p;
stacklen--;
}
}
void Push(const Object & x)
{
Node * p = new Node(x);
p ->next = topOfStack;
topOfStack = p;
stacklen++;
}
~Stack(){
Node * next ;
while(topOfStack)
{
next = topOfStack ->next;
delete topOfStack;
topOfStack = next;
}
} };
int main()
{ int a = 1;
Stack<int> dusk(a);
for(int i = 0 ; i < 5 ; i++)
{
dusk.Push(i);
}
for(int i = 0 ; i < 5 ; i++)
{
dusk.Pop();
}
}
最新文章
- java 用 jxl poi 进行excel 解析 *** 最爱那水货
- Http Status 参考
- 在Android中进行单元测试遇到的问题
- 关于Unity3D中Resources动态加载NGUI图片的方法
- 让ORACLE LIKE 时不区分大小写
- 从一个简单的Java单例示例谈谈并发
- 猪满满 购物APP
- SQLSERVER2008 显示列信息,包含扩展属性
- 蘑菇街 App 的组件化之路
- 挖掘微信Web版通信的全过程
- Spring + iBATIS完整示例
- FreeNAS插件打造ownCloud私有云网盘
- C/C++ 获取系统时间 到秒 || 到毫秒
- querySelectorAll选择器的js实现
- win10怎么录制电脑屏幕 电脑播放视频录制
- ios 在使用 SDWebimage UIButton setBackgroundimage
- IDA显示字节机器码
- ng-table
- debug fortran
- tmux不自动加载配置文件.tmux.conf