棧的順序儲存結構

2022-07-16 17:45:14 字數 1338 閱讀 5401

棧是一種限定僅在表尾進行插入或刪除操作的線性表。允許插入或刪除的一端為棧頂,另一端為棧底。特點是先進後出( first in last out )。棧的插入操作叫做入棧,棧的刪除操作叫做出棧。

/***c語言*/

入棧

int push( stack *s , elemtype e )

s->top++;

s->data[s->top] =e;

return1;

}

把指標加1,接著給棧頂賦值。

出棧

int pop( stack *s , elemtype *e )

*e = s->data[s->top];

s->top--;

return1;

}

指標減1,將棧頂元素出棧,本質上只是移動指標,並沒有將棧頂元素銷毀,而是會在入棧的時候將其內容覆蓋。

遍歷

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 棧的抽象資料結構 由於棧...