棧是一種限定僅在表尾進行插入或刪除操作的線性表。允許插入或刪除的一端為棧頂,另一端為棧底。特點是先進後出( first in last out )。棧的插入操作叫做入棧,棧的刪除操作叫做出棧。
/***c語言*/
入棧
int push( stack *s , elemtype e )把指標加1,接著給棧頂賦值。s->top++;
s->data[s->top] =e;
return1;
}
出棧
int pop( stack *s , elemtype *e )指標減1,將棧頂元素出棧,本質上只是移動指標,並沒有將棧頂元素銷毀,而是會在入棧的時候將其內容覆蓋。*e = s->data[s->top];
s->top--;
return1;
}
遍歷
void display( stack *s )全部**printf("\n
");}
#include#define size 20//棧的結構
typedef int
elemtype;
typedef
struct
stack;
//操作集
//初始化
void init( stack *s )
//入棧操作
int push( stack *s , elemtype e )
s->top++;
s->data[s->top] =e;
return1;
}//出棧操作
int pop( stack *s , elemtype *e )
*e = s->data[s->top];
s->top--;
return1;
}void display( stack *s )
printf("\n
");}int
main()
棧的順序儲存結構
標頭檔案 函式的宣告 include include include define stacksize 100 typedef int elemtype typedef struct seqstack void initstack seqstack s 初始化棧 int stackempty seq...
棧的順序儲存結構
include include define maxsize 10 typedef struct stack sqstack,sq 棧的初始化,建立乙個空棧 sq inistack intpush sq s,int e void printf sq s while i s top 刪除棧頂元素,並用...
棧的順序儲存結構
1 定義 棧是限定只能在表尾刪除和插入操作的線性表。允許插入和刪除的一端稱為棧頂 top 另一端稱為棧底 bottom 棧又稱為後進先出 last in first out 的線性表,簡稱lifo結構。棧的插入操作稱為進棧,也稱壓棧 入棧。棧的刪除操作稱為出棧,也稱彈棧。2 棧的抽象資料結構 由於棧...