順序棧的簡單實現

2021-09-30 14:27:39 字數 1142 閱讀 7327

棧(stack):限定僅在表尾進行插入或刪除操作的線性表。表尾稱為棧頂(top),表頭稱為棧底(bottom)

棧的特點:先進後出。

順序棧:使用一組位址連續的儲存單元依次存放自棧底到棧頂的資料元素。

順序棧需要犧牲乙個位址空間來存放top指標,即棧頂指標在棧頂元素的下乙個位置上。

棧空的判定條件:sqstack.base=sqstack.top

棧不存在的判定條件:sqstack.base=null

#include #include #include #define stack_init_size 100

#define stack_increment 10

typedef int selemtype;

typedef bool status;

using namespace std;

typedef struct

sqstack;

///建立stack

status createsqstack_s(sqstack &s)

///壓棧

status pushsqstack_s(sqstack &s,selemtype e)

*s.top++=e;

return true;

}///出棧

void popsqstack_s(sqstack &s,selemtype &e)

}///get棧頂元素

void gettopsqstack_s(sqstack s,selemtype &e)

}///將棧清空

void clearsqstack_s(sqstack &s)

///銷毀棧

void deletesqstack_s(sqstack &s)

free(s.base);

s.base=null;

s.top=null;

s.stacksize=0;

}int main()

參考:《資料結構c語言版》(嚴蔚敏)

順序棧的簡單實現

資料結構中順序棧的簡單實現和簡單操作的測試。順序棧的簡單實現 include define elemtype char define maxsize 50 using namespace std 結構定義 typedef struct sqstack 初始化 void initstack sqsta...

棧的簡單實現(順序棧 鏈棧)

include define maxsize 100 define true 1 define false 0 define ok 1 define error 0 define infeasible 1 define overflow 2 using namespace std typedef i...

棧的簡單總結(順序棧)

棧結構的特點 棧是線性表結構的一種,但是棧結構的插入與刪除操作都只能從同一端進行,所以棧結構是一種受限制的線性表結構,資料的插入與刪除符合lifo的原則 也就是後進先出,先進後出 棧的結構 對棧進行插入與刪除操作的一端稱為棧頂 top 另一端則稱為棧底 base 棧的進本操作 棧的基本操作有向棧中壓...