資料結構學習筆記(1)棧的c 實現

2021-08-21 08:33:59 字數 1224 閱讀 9858

#include"type.h"//定義的error、ok等

#include #define stack_init_size 100

#define stcak_increasment 10

using namespace std;

template class stack

status initstack()

status gettop(type &e)

status push(type e)

*(top++) = e;

return ok;

} status pop(type &e)

status printstack()

cout << endl;

} status clearstack()

if (base == top) return ok;

else return error;

}};int main()

cout << "初始化的值為:" << endl;

my_stack.printstack();

/*-----------------------*/

/*---測試能否分配記憶體---*/

/*-----------------------*/

my_stack.push(111);

my_stack.push(222);

cout << "分配記憶體後值為:" << endl;

my_stack.printstack();

/*-----------------------*/

/*---測試能否pop出去---*/

/*-----------------------*/

int get_value[100];

for (int i = 0; i < 20; i++)

cout << "pop出20個元素之後值為:" << endl;

my_stack.printstack();

/*-----------------------*/

/*---清空棧---*/

/*-----------------------*/

my_stack.clearstack();

system("pause");

}

執行結果如下圖所示:

資料結構學習筆記 棧

它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向乙個棧插入新元素又稱作進棧 入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素 從乙個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。p...

資料結構學習筆記 棧

1.定義 棧 stack 是限定僅在表尾進行插入和刪除操作的線性表。根據定義我們知道棧在本質上也是一種線性表,只是在插入和刪除操作上進行了限制。我們把允許插入和刪除的一端稱為棧頂 top 另一端稱為棧底 bottom 不含任何元素的棧稱為空棧。棧又稱為後進先出 last in first out 的...

C 資料結構學習筆記 棧 用陣列實現棧

c 資料結構學習筆記 棧 用陣列實現棧 乙個簡單的實現例子,初始化26個英文本母。include using namespace std template class stack 析構函式 bool empty const 判斷棧是否為空 bool full const 判斷是否棧滿 bool si...