?? 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<<"創建失?。?quot;<<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 + -