棧和佇列6 鏈棧

2021-10-01 18:58:31 字數 1756 閱讀 4634

#include

using

namespace std;

typedef

int qelemtype;

//資料型別

typedef

struct qnode qnode,

*queueptr;

//結點型別

typedef

struct

linkqueue;

//結點指標型別

//1.初始化

bool

initqueue

(linkqueue &q)

//2.入隊,不需判空

bool

enqueue

(linkqueue &q, qelemtype e)

//3.隊頭元素

qelemtype gethead

(linkqueue q)

}

//4.出隊

bool

dequeue

(linkqueue & q,qelemtype & e)

delete p;

return

true

;}

//5.遍歷

void

getall

(linkqueue q)

cout <<

"總共有"

<< time <<

"個元素"

<< endl;

}

//6.銷毀

bool

destroyqueue

(linkqueue &q)

return

true

;}

//7.清空

bool

clearqueue

(linkqueue &q)

q.rear = q.front;

return

true

;}

int

main()

cout <<

"棧頂元素為"

<<

gethead

(s)<< endl;

cout <<

"棧所有元素為"

<< endl;

getall

(s);

//出棧if(

dequeue

(s, e)

) cout <<

"移除棧頂的元素是"

<< e

"棧空"

<< endl;

cout <<

"棧剩下所有元素為"

<< endl;

getall

(s);

clearqueue

(s);

cout <<

"清零後,棧剩下所有元素為"

<< endl;

getall

(s);

destroyqueue

(s);

cout <<

"銷毀後,棧剩下所有元素為"

<< endl;

getall

(s);

}

棧和佇列 2鏈棧

adrian 鏈棧元素入棧 例如,將元素 1 2 3 4 依次入棧,等價於將各元素採用頭插法依次新增到鍊錶中,每個資料元素的新增過程如圖 2 所示 鏈棧元素出棧 例如,圖 2e 所示的鏈棧中,若要將元素 3 出棧,根據 先進後出 的原則,要先將元素 4 出棧,也就是從鍊錶中摘除,然後元素 3 才能出...

演算法設計 鏈棧和鏈佇列 鏈棧和鏈佇列的實現

1.鏈佇列。利用帶有頭結點的單鏈表來實現鏈佇列,插入和刪除的複雜度都為o 1 include include typedef struct qnode qnode typedef struct linkqueue linkqueue void initialize linkqueue linkque...

3 鏈棧和鏈佇列

鏈棧 1 include2 using namespace std 3struct node 7enum error 8class stack 22 初始化 棧頂指標置為空,計數變數設定為0 23 stack stack 2728 29 判斷棧是否為空 count 0 top null 30 31b...