码迷,mamicode.com
首页 > 其他好文 > 详细

顺序栈的基本操作

时间:2019-11-03 19:59:25      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:顺序   tac   i++   void   main   pre   size   基本   its   

 1 #include <stdio.h>
 2 #define StackSize 100
 3 typedef int DataType;
 4 typedef struct{
 5     DataType data[StackSize];
 6     int top;
 7 }SeqStack;
 8 
 9 void InitStack(SeqStack * S);
10 void Push(SeqStack *S,DataType x);
11 int Pop(SeqStack * S,DataType * ptr);
12 int GetTop(SeqStack * S,DataType*ptr);
13 int Empty(SeqStack * S);
14 int Print(SeqStack * S);
15 
16 int main(){
17     DataType x;
18     SeqStack S;
19     InitStack(&S);
20     printf("对5和10执行入栈操作:\n");
21     Push(&S,15);
22     Print(&S);
23     Push(&S,10);
24     Print(&S);
25     if(GetTop(&S,&x)==1)
26         printf("当前栈顶元素为:%d\n",x);
27     if(Pop(&S,&x)==1)
28         printf("执行一次出栈操作,删除元素:%d\n",x);
29     if(GetTop(&S,&x)==1){
30         printf("当前栈顶元素为:%d\n",x);
31     }
32     printf("请输入待入栈元素:");
33     scanf("%d",&x);
34     Push(&S,x);
35     if(Empty(&S)==1)
36         printf("栈为空\n");
37     else
38         printf("栈非空\n");
39     return 0;
40 }
41 
42 void InitStack(SeqStack * S){
43     S->top=-1;
44     printf("初始化成功!\n");
45 }
46 void Push(SeqStack * S,DataType x){
47     if(S->top==StackSize-1){
48         printf("上溢错误,插入失败\n");
49     }
50     S->data[++S->top]=x;
51     printf("入栈成功!\n"); 
52 }
53 int Pop(SeqStack * S,DataType * ptr){
54     if(S->top==-1){
55         printf("下溢错误,删除失败\n");
56         return 0;
57     }
58     *ptr = S->data[S->top--];
59     return *ptr;
60 }
61 int GetTop(SeqStack * S,DataType*ptr){
62     if(S->top==-1){
63         printf("下溢错误,取栈顶失败\n");
64         return 0;
65     }
66     *ptr = S->data[S->top];
67     return 1;
68 }
69 int Empty(SeqStack * S){
70     if(S->top==-1)
71         return 1;
72     else
73         return 0;
74 }
75 int Print(SeqStack * S){
76     printf("栈内元素:\n");
77     for(int i=0;i<=S->top;i++){
78         printf("%d ",S->data[i]);
79     }
80     printf("\n");
81 }

 

顺序栈的基本操作

标签:顺序   tac   i++   void   main   pre   size   基本   its   

原文地址:https://www.cnblogs.com/wy0526/p/11788516.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!