用链式结构表示栈的各种操作
来源:互联网 发布:软件培训要多久 编辑:程序博客网 时间:2024/05/24 07:30
#include<iostream.h>
#include<stdlib.h>
#define error 0
#define ok 1
typedef int elemtype;
typedef struct StackNode{
elemtype data;
struct StackNode *next;
}StackNode,*LinkStack;
int StackInit(LinkStack &S)
{
S= (StackNode*)malloc(sizeof(StackNode));
if(!S) return error;
S= NULL;
return ok;
}
int StackPush(LinkStack &S,elemtype e)
{
LinkStack p;
p = (StackNode *)malloc(sizeof(StackNode));
p->data=e;
p->next = S;
S= p;
return ok;
}
int StackPop(LinkStack &S,elemtype &e)
{
LinkStack p;
if(S != NULL)
{ e = S->data; p = S;
S= S->next;
delete(p);
}
else
cout<<"stack empty!/n";
return ok;
}
int Putout(LinkStack S )
{ LinkStack p;
p=S;
if(S==NULL) return error;
cout<<"输出所有元素";
while(p)
{cout<<p->data<<" ";
p=p->next;}
return ok;
}
int main()
{
LinkStack S;
StackInit( S);
int e,i,n;
cout<<"输入栈的长度n:";
cin>>n;
for(i=0;i<n;i++)
{cout<<"请输入进栈的元素:";
cin>>e;
StackPush( S,e);
}
Putout( S);
cout<<"输入要插入到栈中的元素";
cin>>e; StackPush( S,e); Putout( S);
cout<<"\n删除栈顶元素出栈的结果为:";
StackPop( S,e);
Putout( S);
cout<<endl;
return 0;
}
- 用链式结构表示栈的各种操作
- 用顺序结构表示栈的各种基本操作
- 栈的链式存储结构与操作
- 栈的链式存储结构与操作
- 栈的链式存储表示
- c++ 栈的链式表示
- 栈的链式存储表示
- 栈链式结构简单操作
- 栈的链式结构
- 栈的链式存储结构操作及实现
- 栈的链式结构表示与实现——自己写数据结构
- 串的链式结构的简单操作
- 栈的链式操作-------
- 队列的链式存储结构与操作
- 队列的链式存储结构与操作
- 串的链式存储结构操作
- 线性表单链式存储结构的操作
- 桟的链式存储结构分部操作
- elipse你专业吗
- 第五周作业
- Hibernate 中使用 HibernateTemplate的三种方法
- 标准输入输出的控制
- jquery拖拽购物车
- 用链式结构表示栈的各种操作
- 递归函数
- kmp字符查找
- 编程思考
- 软件开发不是工业,而更像农牧业
- 拖拽购物车
- Oracle常见的面试题(1)
- C语言实现的词法分析器
- ListView 使用 ViewHolder