棧(stack)又名堆疊,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。棧是一種很重要的資料結構。我們可以實現棧的基本操作,比如建立棧,出棧,入棧等。先看一下原理圖吧:
以下是棧的實現方式:
#include
#include
#define ok 1
#define error 0
#define stack_init_size 100
#define stackincrement 10
typedef int elemtype;
typedef int status;
typedef struct sqstack;
/**初始化棧
*/status initstack(sqstack &s)
/**獲取棧頂元素
*/status gettop(sqstack &s, elemtype &e)
/**出棧
*/status pop(sqstack &s, elemtype &e)
/*、*入棧
*/status push(sqstack &s, elemtype &e)
*s.top ++ = e; //入棧,top指標上移
return ok;
}
棧 的基本操作。
include include typedef struct node node,pnode typedef struct stack stack,pstack void initialize pstack mystack 棧的初始化。int push stack pstack mystack,in...
棧的基本操作
描述 棧是一種重要的資料結構,它具有push k和pop操作。push k是將數字k加入到棧中,pop則是從棧中取乙個數出來。棧是後進先出的 把棧也看成橫向的乙個通道,則push k是將k放到棧的最右邊,而pop也是從棧的最右邊取出乙個數。假設棧當前從左至右含有1和2兩個數,則執行push 5和po...
棧的基本操作
下面先實現站的基本功能,最後通過乙個test來測試下方法是否實現 建個.c檔案 typedef struct seqstack 初始化 seqstack seqstackinit return null 判斷棧是否為空 int seqstackisempty seqstack s void seqs...