棧的基本操作

2021-07-10 22:09:38 字數 848 閱讀 6876

棧(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...