鏈隊的基本操作

2021-10-08 22:38:58 字數 1466 閱讀 6059

/***鏈隊的基本操作***/

#include

#include

using

namespace std;

#define ok 1

#define error 0

#define overflow -2

typedef

char qelemtype;

typedef

int status;

typedef

char selemtype;

//- - - - - 佇列的鏈式儲存結構- - - - -

typedef

struct qnode qnode,

*queueptr;

typedef

struct

linkqueue;

//演算法 -鏈隊的初始化

status initqueue

(linkqueue &q)

//演算法-鏈隊的入隊

status enqueue

(linkqueue &q, qelemtype e)

//演算法-鏈隊的出隊

status dequeue

(linkqueue &q, qelemtype &e)

//演算法3.19 取鏈隊的隊頭元素

selemtype gethead

(linkqueue q)

intmain()

else

cout <<

"初始化佇列失敗\n\n"

;break

;case2:

if(flag)

} cout << endl << endl;

}else

cout <<

"佇列未建立,請重新選擇\n\n"

; file.

close()

;}break

;case3:

//取鏈隊的隊頭元素

if(flag !=-1

&& flag !=0)

cout <<

"隊頭元素為:\n"

<<

gethead

(q)<< endl << endl;

else

cout <<

"佇列中無元素,請重新選擇\n"

<< endl;

break

;case4:

// 鏈隊的出隊

cout <<

"依次彈出的隊頭元素為:\n"

;while

(dequeue

(q, e)

) cout << endl << endl;

break;}

}return0;

}

執行結果:

鏈隊操作實現

李德坤 煙台大學計算機與控制工程學院 我自己對鏈隊的理解,鏈隊的front只要不是出隊操作始終指向第乙個進入的元素,而rear隨著元素入隊由指向第乙個進入的元素逐漸後移 指向下乙個元素 當然front隨著元素出隊而逐漸後移 和rear移動方向一樣 例如1 2 1 3 2 1 4 3 2 1 5 4 ...

順序棧 鏈棧 迴圈佇列 鏈隊基本操作的實現

一 實驗學時 2學時 二 實驗目的 三 實驗內容 順序棧的建立 取棧頂元素 入棧 出棧 佇列的建立 取隊中元素 入隊 出隊 迴圈佇列中入隊 出隊操作 四 主要儀器裝置及耗材 五 實驗步驟 分析問題 寫出演算法 編制程式 上機除錯 分析結果 六 程式清單 1.順序棧 include include d...

資料結構迴圈佇列與鏈隊的基本操作

一.定義 佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。二.特點 佇列的特點是先進先出。例如排隊付款,先...