棧的最基本特點先進後出,本文簡單介紹一下用c++寫的鏈式棧
標頭檔案
1原始檔,測試用#ifndef linkedstack_h
2#define linkedstack_h
34 template class
linkedstack;
56 template
7class
chainnode8//
建立新的結點,"link(n)"表示指向已經入棧的結點
13t data;
14 chainnode*link;
15};
1617 template
18class
linkedstack
19 //
初始化棧,頂結點指標指向空
22 ~linkedstack() //
析構函式,清空棧
23bool isempty() const;//
判斷棧是否為空
24 t& top() const;//
返回棧頂結點資料域
25void push(const t& e);//
從棧頂放入結點
26void pop();//
從棧頂刪除結點
27void makeempty();//
不斷從棧頂刪除結點直到棧為空
28private
:29 chainnode*top;
30};
3132 template
33bool linkedstack::isempty() const
3437
38 template
39void linkedstack::push(const t &e)
4043
44 template
45 t& linkedstack::top() const
4651
52 template
53void linkedstack::pop()
5461
62 template
63void linkedstack::makeempty()
6468
#endif
1 #include2 #include"linkedstack.h"3
4using
namespace
std;56
intmain()
7
資料結構 鏈式棧
編譯錯誤 passing const linkstack as this argument discards qualifiers fpermissive 解決方法 c 中const 引用的是物件時只能訪問該物件的const 函式,因為其他函式有可能會修改該物件的成員,編譯器為了避免該類事情發生,會...
鏈式棧 C語言資料結構
棧的鏈式儲存結構 棧的鏈式儲存結構與線性表的鏈式儲存結構相同,是通過由結點構成的單鏈表實現的。為操作方便我們使用無頭結點的單鏈表。此時棧頂為單鏈表的第乙個結點,整個單鏈表為乙個鏈棧。鏈棧的型別定義 typedef struct node linkstack 鏈棧結點型別 top 為棧頂,它唯一地確定...
資料結構 棧 c鏈式實現
目的 學習資料結構,學校c語言 功能 棧的鏈式結構實現 include include define ok 1 define false 0 define true 1 define error 0 typedef int status typedef int selemtype 結點型別 type...