鏈式棧的基礎操作

2021-09-29 20:33:39 字數 1494 閱讀 3216

/*

環境:dev c++ tdm-gcc 4.9.2 64-bit profiling

-輸出大小: 1.85755443572998 mib

鏈式棧操作

包括鏈式棧的類定義(使用模板)

棧的構造與析構

棧的壓棧與彈棧

訪問棧頂元素

棧的清空

*/

#include

using

namespace std;

template

<

class

t>

class

lstack

;//對鏈式棧類的宣告

template

<

class

t>

class

slnode

;

template

<

class

t>

class

lstack

;

template

<

class

t>

lstack

::lstack()

template

<

class

t>

lstack::~

lstack()

template

<

class

t>

void lstack

::clear()

}template

<

class

t>

bool lstack

::pop

(t & item)

item = top-

>data;

q = top-

>next;

delete top;

top = q;

return

true;}

template

<

class

t>

bool lstack

::push

(const t &item)

template

<

class

t>

bool lstack

::peek

(t item)

item = top-

>data;

return

true

;}

int

main

(int argc,

char

**ar**)

case1:

case2:

case3:

default:}

}}

順序棧和鏈式棧的基本操作

棧作為一種 資料結構,是一種只能在一端進行插入和刪除操作的特殊 線性表。它按照 先進後出的原則儲存資料,先進入的資料被壓入棧底,最後的資料在棧頂,需要讀資料的時候從棧頂開始彈出資料 最後乙個資料被第乙個讀出來 棧具有記憶作用,對棧的插入與刪除操作中,不需要改變棧底 指標。棧是允許在同一端進行插入和刪...

棧的鏈式儲存結構與操作

include using namespace std struct infor template class test template test test template test test template void test getintostack 入棧 template void te...

棧的鏈式儲存及常用操作

水水的實現一下鏈式棧。include include include include using namespace std typedef struct sta stack void createstack stack s 建立乙個帶頭結點的鏈棧 void destroystack stack s...