今天打的一部分链式栈
Posted longlonglonglong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了今天打的一部分链式栈相关的知识,希望对你有一定的参考价值。
1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 typedef int ElemType; 5 /*链栈结点*/ 6 typedef struct Node 7 ElemType data; 8 struct Node *next; 9 LinkStackNode; 10 /*链栈结构*/ 11 typedef struct 12 LinkStackNode *top; 13 int length; 14 LinkStack; 15 //初始化链式栈 16 void InitStack(LinkStack *S) 17 S->top=NULL; 18 S->length=0; 19 printf("初始化成功\n"); 20 21 //入栈 22 int PUSH(LinkStack *S) 23 int n; 24 LinkStackNode *x=(LinkStackNode*)malloc(sizeof(LinkStackNode)); 25 if(x==NULL) 26 return printf("申请空间失败\n"); 27 28 printf("请输入你想入栈的数\n"); 29 scanf("%d",&n); 30 x->data=n; 31 x->next=S->top;//插入一个新结点在头部 32 S->top=x;//将头结点指针指向该结点 33 S->length++; 34 return printf("入栈成功\n"); 35 36 int Pop(LinkStack *S,ElemType *x) 37 LinkStackNode *temp=S->top;//将temp指针指向头结点; 38 //移动栈顶指针 39 S->top=temp->next;//将头结点指针指向temp指针的下一位 40 S->length--; 41 *x=temp->data; 42 free(temp); //释放temp 43 printf("出栈成功"); 44 45 int main() 46 LinkStack S; 47 int x; 48 49 InitStack(&S); 50 51 PUSH(&S); 52 53 Pop(&S,&x); 54 55 printf("%d",x); 56 57 58 59 60 61 62 63
暂时只打了出栈和入栈。
以上是关于今天打的一部分链式栈的主要内容,如果未能解决你的问题,请参考以下文章