資料結構 鏈式棧c

2022-09-03 14:36:10 字數 1331 閱讀 4953

棧的最基本特點先進後出,本文簡單介紹一下用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...