資料結構 鏈棧學習及運用筆記

2021-08-04 08:37:24 字數 1240 閱讀 7635



上午再一次深入複習了棧的演算法實現,寫了乙個簡單的十進位制轉二進位制函式作為練習(以後有時間的時候再將其中關鍵部分用**描述出來,加深印象的同時也希望能夠幫助初學者更好的理解這部分的知識),**如下:

//#include "stdafx.h"

#includeusing namespace std;

//***************===以下是棧的資料結構和方法***************==

typedef struct stackstack;//棧結構定義

void initstack(stack* &s)//初始化棧,帶頭結點的棧

int stackempty(stack* s)//判斷棧是否為空

void stackpush(stack* s, int x)//入棧

int stackpop(stack* s, int &x)//出棧

}//**********=以下是運用棧進行10進製轉2進製的函式********************

void transfer(int x)

//只能對大於0的十進位制進行二進位制轉換

cout << temp << " transfer to binary is:\n";

while (!stackempty(s))

cout << '\n';

}int _tmain(int argc, _tchar* argv)

/*********************===在vs2013中的輸出結果********************==

1 transfer to binary is:

12 transfer to binary is:

1 03 transfer to binary is:

1 14 transfer to binary is:

1 0 0

5 transfer to binary is:

1 0 1

6 transfer to binary is:

1 1 0

7 transfer to binary is:

1 1 1

8 transfer to binary is:

1 0 0 0

9 transfer to binary is:

1 0 0 1

10 transfer to binary is:

1 0 1 0

done!

請按任意鍵繼續. . .*/

資料結構 棧 鏈棧

棧的插入和刪除只在棧頂進行操作,在單鏈表中,頭指標是單鏈表的必須元素 而在棧中,棧頂指標也是鏈棧的必須元素,且一般將棧頂放在單鏈表的頭部。線性表有順序儲存結構和鏈式儲存結構,棧屬於線性表的一種,也具有順序儲存結構和鏈式儲存結構。對於棧的鏈式儲存結構,一般稱之為鏈棧。棧的特點 先進後出 棧函式實現 1...

資料結構 鏈棧的學習

就是將棧的思想和鍊錶思想結合 include using namespace std const int maxsize 100 template struct node template class linkstack 當構造乙個空棧時 只需棧頂指標置空即可 linkstack 對於鍊錶的析構需要...

資料結構 鏈棧

編寫乙個程式,實現鏈棧 假設棧中元素型別為char 的各種基本運算。並完成下面功能 1 初始化鏈棧s 2 判斷鏈棧s是否非空 3 依次進鏈棧元素a,b,c,d,e 4 判斷鏈棧s是否非空 5 輸出鏈棧長度 6 輸出從棧頂到棧底元素 7 輸出出鏈棧序列 8 判斷鏈棧s是否非空 9 釋放鏈棧。inclu...