📄 2.1.c
字号:
#define stack_init_size 100
#define stackincrement 10
#include <iostream.h>
#include <malloc.h>
#include <conio.h>
struct sqstack
{
int *base;
int *top;
int stacksize;
}s;
int InitStack()
{
s.base=(int*)malloc(stack_init_size*sizeof(int));
if(!s.base) return 0;
s.top=s.base;
s.stacksize=stack_init_size;
return 1;
}
int push(int e)
{
if(s.top-s.base>=s.stacksize ){
s.base =(int*)realloc(s.base,(s.stacksize +stackincrement)*sizeof (int));
if(!s.base )return 0;
s.top =s.base +s.stacksize ;
s.stacksize +=stackincrement;
}
*s.top++=e;
return 1;
}
int pop()
{
int e;
if(s.top ==s.base)return 0;
e=*--s.top ;
cout<<"所出栈的元素为:e="<<e<<endl;
return 1;
}
void main(void)
{
int i,j=0,k=0,m,k1=0;
k=InitStack();
if(k==1)cout<<"创建成功!"<<endl;
else cout<<"创建失败!"<<endl;
cout<<"请输入要插入的元素:";
for(m=0;m<4;m++)
{
cin>>i;
k1=push(i);
if(k1==1)cout<<"插入成功!"<<endl;
else cout<<"插入失败!"<<endl;
}
getch();
j=pop();
if(j==1)cout<<"出栈成功!"<<endl;
else cout<<"出栈失败!"<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -