棧的鏈式儲存結構基本功能實現(C )

2021-10-05 11:23:06 字數 1825 閱讀 7323

**寫多還是會愈發的順手。寫這個示例時,主要的問題在於實現時節點和鍊錶的表示指標有點混亂,不能夠馬上的反映出來。革命尚未成功,同志仍需努力啊!

寫完之前的**,停下來看了下別人前面內容的實現過程,對比發現結構還是比較混亂的。本例中將節點用結構體表示,包含兩個資料成員,分別是資料域和指標域。然後將棧定義為乙個模板類,包含兩個私有成員,分別是棧的頭指標和棧中元素的個數。將棧的基本功能函式宣告在類公有成員。這樣整體結構就完善許多。

棧的鏈式儲存結構標頭檔案

template

<

typename t>

//結構體定義節點

struct node

;template

<

typename t>

class

chstack

;

#pragma once

#ifndef stack_h_

#define stack_h_

template

<

typename t>

struct node

;template

<

typename t>

class

chstack

;template

<

typename t>

chstack

::chstack()

template

<

typename t>

bool chstack

::push

(t &e)

template

<

typename t>

bool chstack

::pop

(t &e)

return

true;}

template

<

typename t>

t &chstack

::gettop()

else

return top-

>data;

}template

<

typename t>

bool chstack

::isempty()

template

<

typename t>

int chstack

::length()

const

#endif

棧的鏈式儲存結構示例**

#include

#include

#include

"stack.h"

using

namespace std;

void

main()

cout <<

"\nthe number of the stack element is: "

; cout << test.

length()

<< endl;

cout <<

"the top of the stack is: "

; cout << test.

gettop()

<< endl;

int num = test.

length()

; string out;

for(

int i =

0; i < num; i++)}

}

C語言實現鏈式佇列的基本功能

rear指向隊尾部元素,front指向隊頭元素的前乙個 鏈式佇列相當與鍊錶很相似,有著頭指標和頭節點,傳引數也都是傳的指標,但是不同的是這裡的指標是結構體指標,可以看成二級指標 所以在列印等函式中需要有個中間變數,否則會改變front和rear的指向 include include struct b...

資料結構之棧的基本功能實現

棧是一種基本的資料結構,在很多地方都會用到。這次複習,通過以下 實現了棧的一些基本功能 順序棧的基本功能的實現 include define true 1 define false 0 define stack size 50 define stackelement char typedef str...

C實現陣列的基本功能

實現了陣列的基本操作 插入,刪除,逆序,排序等 不足之處,只能在初始化的時候確定陣列的大小,陣列滿時不能動態擴充容量 以後改進 排序演算法可用其它代替冒泡。include include include include 定義陣列型別 定義資料結構體 typedef struct array 顯示陣列...