//palist->t來表示當前的資料下標,即可以模擬先進後出的特性
//棧資料結構體(最大值,指示當前棧中數的個數t,所存資料型別的指標s)
struct seqstack;
//基本操作壓棧
void push_seq(pseqlist pastack, datatype x)
}void pop_seq(pseqlist pastack/* arguments */)
//取棧頂元素
datatype top_seq(pseqlist pastack)
//____________以下為鏈棧實現演算法___________________//
//鏈棧的資料結構體(info為棧中資料元素,link統一指向下乙個info)
struct node;
typedef struct node* pnode;
struct node
struct linklist
typedef struct linklist *plinkstack;
plinkstack createemptystack_link(void) //建立空的鏈棧
int isemptystack_link(plinkstack plstack) //判斷鏈棧是否為空
void push_link(plinkstack plstack,datatype x) //壓棧(與普通的略有不同)
else
}void pop_link(plinkstack plstack)//彈棧
}datatype top_link(plinkstack plstack) // 返回棧頂元素
棧,順序棧,鏈棧
棧作為一種限定性線性表,是將表的插入刪除限制為僅在表的一端進行,通常將表中允許插入刪除的一端叫做棧頂 top 因此棧頂的當前位置是動態變化的。棧的另一端叫做棧底 bottom 當棧中沒有元素時稱為空棧。插入操作稱為進棧或入棧,刪除操作稱為出棧或退棧。棧是先進後出的線性表,簡稱為lifo表。棧主要有兩...
棧 順序棧 鏈棧
棧 順序棧 鏈棧 分別用順序表和煉表實現棧,完成入棧 出棧 窺探棧頂元素等操作 commom.h ifndef common h define commom h include include include include include define elemtype int void swap...
順序棧及鏈棧常用方法
儲存結構定義 typedef int elemtype typedef enum statusstatus typedef struct sqstacksqstack 初始化棧 順序棧 基於陣列的 status initstack sqstack s,int sizes 初始化 s top 1 s ...