📄 顺序栈的应用.txt
字号:
3. 初始化一个顺序栈,编制实现入栈一个元素和出栈一个元素的程序。
#include "malloc.h"
#include "stdio.h"
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef struct{
int *base;
int *top;
unsigned int stacksize;
}SqStack;
SqStack S;
int e;
int InitStack( )
{ S.base=(int *)malloc(STACK_INIT_SIZE * sizeof(int));
if(!S.base) return (-2);
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
return 1;
}
int Push(int ee)
{ if( S.top - S.base>=S.stacksize)
{S.base= (int *) realloc(S.base,
(S.stacksize+STACKINCREMENT)*sizeof(int));
if(!S.base) return(-2);
S.top=S.base+S.stacksize;
S.stacksize+=STACKINCREMENT;
}
*S.top++ = ee;
return 1;
}
int Pop( )
{ if(S.top==S.base) return 0;
e=*--S.top;
return 1;
}
main(){
int x;
InitStack( );
printf("\ninput a integer:");
scanf("%d",&x);
Push(x);
Pop();
printf("%d\n",e);
}
运行情况:
输入数据: input a integer:36
运行结果: 36
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -