链栈
来源:互联网 发布:室内设计绘图软件 编辑:程序博客网 时间:2024/06/05 02:57
#include <stdio.h>
#include<stdlib.h>
typedef struct Node{
int data;
struct Node *next;
}Node;
Node *StackNode;
Node *Push(Node *top) //入栈
{
Node *s=NULL;
s=(Node *)malloc(sizeof(Node));
printf("Please input the element:");
scanf("%d",&s->data);
s->next=top;
top=s;
return top;
}
Node *Pop(Node *top) //出栈
{
Node *p=NULL;
if(top==NULL) printf("ERROR\n");
else
{
do
{
printf("%3d",top->data);
p=top;
top=top->next;
free(p);
}while(top!=NULL);
}
return top;
}
void Get(Node *top) //取栈顶元素
{
if(top==NULL) printf("ERROR\n");
else printf("%3d\n",top->data);
}
void Empty(Node *top) //判空
{
if(top==NULL) printf("栈空\n");
else printf("栈非空\n");
}
int main()
{
int n;
Node *top=NULL;
do
{
printf("\n1.元素入栈\n2.所有元素出栈\n3.取栈顶元素\n4.判断栈空\n5.exit\n请选择操作:");
scanf("%d",&n);
printf("\n");
switch(n)
{
case 1:top=Push(top);break;
case 2:top=Pop(top);break;
case 3:Get(top);break;
case 4:Empty(top);break;
case 5:break;
default:break;
}
}while(n!=5);
return 0;
}
0 0
- 链栈
- 链栈
- 链栈
- 链栈
- 链栈
- 链栈
- 链栈
- 链栈
- 链栈
- 链栈
- 链栈
- 链栈
- 链栈
- 链栈
- 链栈
- 链栈
- 链栈
- 链栈
- 第一周:最大子列和问题-算法4:在线处理(作业)
- 黑马程序员———OC基础语法(七)---Foundation框架
- UVa 101 The Blocks Problem
- 设计模式之--单例模式
- 黑马程序员——十分钟让你明白Objective-C的语法(和Java、C++的对比)——黑马 IOS 技术博客
- 链栈
- LINQ to SQL 系列 如何使用LINQ to SQL插入、修改、删除数据
- java异常处理之throw, throws,try和catch
- [学习笔记]Java网络编程之TCP通讯
- 黄 岩 文 史 资 料 ( 27)
- org.hibernate.LazyInitializationException异常解决方法
- 第三方支付
- B/S初探之北大青鸟-ASP.NET 总结
- 静态查找(顺序、折半)