?? 順序棧的應用.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 + -