数据结构(C++版) 栈的链接存储结构及实现
来源:互联网 发布:南宋灭亡知乎 编辑:程序博客网 时间:2024/05/16 07:13
数据结构(C++版) 栈的链接存储结构及实现
#include<iostream.h>
struct node
{
int data;
node *next;
};
class LinkStack
{
public:
LinkStack(){top=NULL;} //构造函数置空链栈
~LinkStack(); //析构函数,释放链栈中个节点的存储空间
void Push(int x); //将元素x进栈
int Pop(); //将栈顶元素出栈
int Gettop() //获取栈顶元素
{if(top!=NULL)return top->data;} //取栈顶元素(并不删除)
bool empty() //判断链栈是否为空栈
{
if(top==NULL)
return 1;
else
return 0;
}
private:
node *top; //栈顶指针即链栈的头指针
};
void LinkStack::Push(int x) //元素进栈
{
node *s=new node; //申请一个数据域为x的节点s
s->data=x;
s->next=top; //将节点s插在栈顶
top=s;
}
int LinkStack::Pop() //元素出栈
{
int x;
if(top==NULL) throw"下溢";
x=top->data; //暂存栈顶元素
node *p=top; //将栈顶节点摘链
top=top->next;
delete p;
return x;
}
LinkStack::~LinkStack() //析构函数将链栈中所有节点的存储空间释放
{
while(top)
{
node *p=top->next;
delete top;
top=p;
}
}
void main()
{
LinkStack link;
int data;
cout<<"请输入进栈的10个元素:";
for(int i=0;i<10;i++) //输入进栈的10个元素
{
cin>>data;
link.Push(data);
}
link.Pop(); //栈顶元素出栈
cout<<"现在栈顶的元素为:"<<link.Gettop()<<endl; //输出栈顶元素
while(!link.empty())
cout<<"现在出栈的是:"<<link.Pop()<<endl; //所有元素一个一个出栈
}
- 数据结构(C++版) 栈的链接存储结构及实现
- 栈的链接存储结构及实现
- 数据结构:栈的顺序结构及实现(C++)
- 数据结构--C语言实现栈的顺序存储结构
- 数据结构之栈的push与pop操作(顺序存储结构的c实现)
- 动态栈的存储结构及算法C语言实现
- 栈的链式存储结构及C实现
- 线性表的链接存储结构及JAVA实现
- 链队列的链接存储结构及实现
- 数据结构--顺序存储结构及抽象实现
- C语言数据结构-3.栈的顺序及链式存储结构
- 栈的链式存储结构及实现
- 栈的链式存储结构及实现
- 栈的顺序存储结构及实现
- 栈的链接存储结构---链栈的实现
- 线性表的链接存储结构(单链表)的实现
- 栈的链接存储结构--链栈 图解和代码实现
- 栈的链接存储结构--链栈 图解和代码实现
- IE浏览器iframe下使用cookie和session要注意
- Poco::DataTime
- hdu 4355 Party All the Time
- 实战体会Java多线程编程的精髓
- ICTCLAS 中科院分词系统 代码 注释 中文分词 词性标注
- 数据结构(C++版) 栈的链接存储结构及实现
- POJ 2236 Wireless Network(并查集)
- 马的走法
- 【DP(背包)】 hdu2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- Rhel5 oracle 11gr2 rac 环境 的安装
- 外观模式(Facade)
- Adobe reader update 无法将数值disableexceptionchainvaliddation写入键/sofeware...请验证您对该有足够
- HDU 4350 - Card
- 理解REDO LOG(1) 介质恢复和实例恢复的基本概念