C 資料結構 棧

2021-09-09 04:57:55 字數 2390 閱讀 3276

23415------>1進棧,2進棧,2出棧,3進棧,3出棧,4進棧,4出棧,1出棧,5進棧,5出棧

23145------>1進棧,2進棧,2出棧,3進棧,3出棧,1出棧,4進棧,4出棧,5進棧,5出棧

15432------>1進棧,1出棧,2進棧,2進棧,4進棧,5進棧,5出棧,4出棧,3出棧,2出棧

54132不可能。

棧(stack):是限定僅在表尾進行插入和刪除操作的線性表

棧(stack)是操作限定在表的尾端進行的線性表。表尾由於要進行插入、刪除等操作,所以,它具有特殊的含義,把表尾稱為棧頂( top),另一端是固定的,叫棧底( bottom)。當棧中沒有資料元素時叫空棧(empty stack)。 棧的操作示意圖如圖所示。

操作

public inte***ce istack

int getlength(); //求棧的長度

bool isempty(); //判斷棧是否為空

void clear(); //清空操作

void push(t item); //入棧操作

t pop(); //出棧操作 返回要刪除的資料 並刪除資料

t peek(); //取棧頂元素 不刪除

}

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace _002_棧

public seqstack():this(10)

public int count

}public int getlength()

public bool isempty()

public void clear()

public void push(t item)

public t pop()

public t peek()}}

結點

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace _002_棧

//構造

public node(t data)

public node(t data, nodenext)

public node(nodenext)

//屬性

public t data set }

public nodenext

set }}

}

鍊錶

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace _002_棧

}/// /// 取得棧中元素的個數

///

///

public int getlength()

/// /// 判斷棧中是否有資料

///

///

public bool isempty()

/// /// 清空棧中所有的資料

///

public void clear()

/// /// 入棧

///

///

public void push(t item)

/// /// 出棧 取得棧頂元素,然後刪除

///

///

public t pop()

/// /// 取得棧頂中的資料,不刪除棧頂

///

///

public t peek()}}

應用

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace _002_棧 }}

資料結構 c 棧

資料結構中棧還是比較常用的,在某些特定情況下非常便利,例如進製轉化等。棧又稱為後進先出的線性表 lifo 同樣分為順序棧和鏈式棧,實現起來順序棧和順序表差不多,鏈式棧和鏈式佇列差不多而且更加簡單。和順序表類似,首先定義巨集,儲存空間初始分配量和每次再分配的增量,以及結構體表示資料結構。include...

資料結構 棧 C

include include include include using namespace std 結點 class mydata 預設建構函式 mydata int value data value next null 帶引數建構函式 int data mydata next 棧結構 clas...

資料結構 棧 c 迷宮

1,棧的基本操作和迷宮的資料結構 includeusing namespace std define stack init size 100 define stack increment size 100 typedef structposttype 座標結構 typedef struct bloc...