順序棧的實現

2021-06-26 12:23:04 字數 922 閱讀 9049

棧關鍵點:後進先出,先進後出;

借助陣列和"指標"來實現:

#includeusing namespace std;

const int smax=30;

template class secsteck

~secsteck(){}

void set(datatype a,int n);//先建立乙個基礎棧,為後續操作做準備

void push(datatype x);//入棧

datatype pop();//出棧

datatype get()//取出棧頂元素

int empty()//判斷棧是否為空?

private:

int top;

datatype data[smax];

};template void secsteck::set(datatype a,int n)//先建立3個元素,建立乙個基礎棧

int main()

{ int n=3;int s[smax];

cout<

for(int i=0;i>s[i];

secstecka;

a.set(s,n);

cout<

int m;

cin>>m;

a.push(m);

cout<

除錯結果:

總結:主要是做好對"指標"top的利用.若要逆序實現,也是對top進行相應的改變.

順序棧的實現

棧是一種限定只在表尾進行插入或刪除操作,棧也是線性表 表頭稱為棧的底部,表尾稱為棧的頂部,表為空稱為空棧,棧又 稱為後進先出的線性表,棧也有兩種表示 順序棧與鏈式棧 順序棧是利用一組位址連續的儲存單元,依次存放從棧底到棧頂 的資料元素,附設乙個指標指示棧頂的元素在棧中的位置.ifndef stack...

棧的順序實現

棧的順序實現 03 27 測試環境 tc2.0 include define true 1 define false 0 define len sizeof elemtype define stack initsize 100 define stack increment 30 typedef in...

順序棧的實現

資料結構中,棧的應用十分廣泛,如數值轉換 字元匹配等等。而在記憶體中,這種結構更是很常見。所以,自己很有必要複習和總結一下!以下是棧的順序儲存結構 typedef struct sqstack 同時將棧的常見功能封裝在標頭檔案中 標頭檔案stack.h 預編譯命令 include include e...