电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

5.栈的链式存储结构

5.栈的链式存储结构_第1页
1/13
5.栈的链式存储结构_第2页
2/13
5.栈的链式存储结构_第3页
3/13
栈的链式存储结构 #include #include typedef struct SNode { int data; struct SNode *next; }SNode,*LinkStack; LinkStack top; LinkStack PushStack(LinkStack top,int x) //入栈 { LinkStack s; s=(LinkStack)malloc(sizeof(SNode)); s->data=x; s->next=top; top=s; return top; } LinkStack PopStack(LinkStack top) //退栈 { LinkStack p; if(top!=NULL) { p=top; top=top->next; free(p); printf("退栈已完成\n"); return top; } else printf("栈是空的,无法退栈!\n"); return 0; } int GetStackTop(LinkStack top) //取栈顶元素 { return top->data; } bool IsEmpty()//bool 取值false 和true,是0 和1 的区别,bool 只有一个字节,BOOL 为 int 型,bool为布尔型 { return top==NULL ? true:false; } void Print() { SNode *p; p=top; if(IsEmpty()) { printf("The stack is empty!\n"); return; } while(p) { printf("%d ", p->data); p=p->next; } printf("\n"); } void main() { int x,a,b; char m; do { printf("\n"); printf("###############链栈的基本操作##################\n"); printf("××××××××1.置空栈××××××××××\n"); printf("××××××××2.进栈×××××××××××\n"); printf("××××××××3.退栈×××××××××××\n"); printf("××××××××4.取栈顶元素××××××××\n"); printf("××××××××5.退出程序×××××××××\n"); printf("##############################################\n"); printf("\n 请选择一个字符:"); scanf("%c",&m); switch(m){ case '1': top=NULL; printf("\n 栈已置空!"); break; case '2': printf("\n 请输入要进栈的元素个数是:"); scanf("%d",&a); printf("\n 请输入要进栈的%d 个元素:",a); for(b=0;b

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

5.栈的链式存储结构

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群