主要是进栈和退栈以及遍历的相关简单代码
代码实现如下
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 10
typedef struct
{
int data[MAXSIZE];
int top;
}Sqstack;
void Init_Stack(Sqstack *S);
void Enter_Stack(Sqstack *S,int num);
void Delete_Stack(Sqstack *S,int *e);
void Show_Stack(Sqstack *S);
void main()
{
Sqstack S;
int e;
Init_Stack(&S);
Enter_Stack(&S,50);
Enter_Stack(&S,60);
Enter_Stack(&S,70);
Enter_Stack(&S,80);
Enter_Stack(&S,90);
Enter_Stack(&S,100);
printf("遍历队中元素:\n");
Show_Stack(&S);
printf("栈顶指针:%d\n",S.top);
Delete_Stack(&S,&e);
printf("出栈元素:%d\n",e);
Delete_Stack(&S,&e);
printf("出栈元素:%d\n",e);
Delete_Stack(&S,&e);
printf("出栈元素:%d\n",e);
printf("再次遍历:\n");
Show_Stack(&S);
printf("栈顶指针:%d\n",S.top);
}
void Init_Stack(Sqstack *S)
{
S->top = -1;
}
void Enter_Stack(Sqstack *S,int num)
{
S->top++;
S->data[S->top] = num;
}
void Show_Stack(Sqstack *S)
{
int i = 0;
while(i <= S->top)
{
printf("%d\n",S->data[i]);
i++;
}
printf("\n");
}
void Delete_Stack(Sqstack *S,int *e)
{
*e = S->data[S->top];
S->top--;
}