欢迎来到天天文库
浏览记录
ID:32428180
大小:110.00 KB
页数:5页
时间:2019-02-04
《栈的基本操作c语言实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、#include#include#definelengthsizeof(structnode)structnode{intdata;structnode*next;};//定义结点voidCrestack(structnode**p)//创建栈{structnode*q;q=(structnode*)malloc(length);q=NULL;*p=q;}voidpush(structnode**p,intx)//压栈{structnode*q;q=(structnode*)m
2、alloc(sizeof(structnode));q->data=x;q->next=*p;*p=q;}intpop(structnode**p)//出栈{structnode*q;q=*p;if(*p==NULL)printf("提示:栈空!");else{*p=(*p)->next;}return(q->data);}voiddisplay(structnode**p)//顺序遍历{structnode*q;q=*p;do{printf("%d",q->data);q=q->next;}while(q!=
3、NULL);}voidmain(){printf("***************************************");printf("***欢迎进入栈的管理程序***");printf("***************************************");printf("***操作代码***");printf("***************************************");printf("***1.显示栈中元素2.弹出栈顶元素***")
4、;printf("******");printf("***3.插入N个元素4.退出应用程序***");printf("***************************************");inti,m,n,t=0,temp=1;structnode*head;Crestack(&head);printf("请输入六个栈元素");for(i=1;i<=6;i++){scanf("%d",&m);push(&head,m);}while(temp){printf("请输入操作代码");
5、scanf("%d",&t);while(!(t==1
6、
7、t==2
8、
9、t==3
10、
11、t==4)){printf("请重新输入操作代码");scanf("%d",&t);}switch(t){case1:printf("栈中元素是:");display(&head);printf("");break;case2:pop(&head);printf("剩余元素是:");display(&head);printf("");break;case3:printf("请输入要插入元素个数:");p
12、rintf("N=");scanf("%d",&n);printf("请输入要插入的元素:");for(i=1;i<=n;i++){scanf("%d",&m);push(&head,m);}printf("栈中元素是:");display(&head);printf("");break;case4:temp=0;break;}}}
此文档下载收益归作者所有