資料結構 鏈式佇列及其操作集

2021-10-08 02:51:56 字數 1206 閱讀 5233

/* 佇列基本操作

initqueue(&q):初始化佇列,構造乙個空佇列q。

queueempty(q):判佇列空,若佇列q為空返回true,否則返回false。

enqueue(&q, x):入隊,若佇列q未滿,則將x加入使之成為新的隊尾。

dequeue(&q, &x):出隊,若佇列q非空,則刪除隊頭元素,並用x返回。

gethead(q, &x):讀隊頭元素,若佇列q非空則用x返回隊頭元素。

clearqueue(&q):銷毀佇列,並釋放佇列q占用的記憶體空間。

* */

#include

using

namespace std;

#define elemtype int

//鏈式佇列資料結構

typedef

struct linknode

*node;

typedef

struct queuequeue;

//初始化

void

initqueue

(queue &q)

//判空

bool

isempty

(queue q)

return

false;}

// 入隊

void

enqueue

(queue &q,elemtype x)

//出隊

bool

dequeue

(queue &q,elemtype &x)

linknode *p=q.front-

>next;

x=p-

>data;

q.front-

>next=p-

>next;

if(q.rear==p)

free

(p);

return

true;}

//遍歷

void

print

(queue q)

linknode* p=q.front-

>next;

while

(p!=q.rear)

cout<>data<}int

main()

佇列元素為:1 3 5

process finished with exit code 0

資料結構鏈式佇列

對佇列進行以下操作 1.入佇列 2.出佇列 3.取隊首元素 佇列先進先出,要想實現入佇列,從隊尾插入元素 要想實現出佇列,從隊首刪除元素。在這裡,我們定義頭尾指標,首先對空佇列插入元素,讓頭指標等於尾指標,如果非空,依然讓頭指標指向隊首,尾指標指向要插入的元素。刪除元素時,直接讓頭指標指向下乙個元素...

資料結構作業2 鏈式儲存結構及其操作

2 1 線性表採用鏈式儲存時,其位址 1分 部分位址必須是連續的 一定是不連續的 連續與否均可以 必須是連續的 2 2不帶表頭附加結點的單鏈表為空的判斷條件是頭指標head滿足條件 1分 head null head next head head nextnull headnull 2 3在單鏈表中...

資料結構之鏈式佇列

我們實現了順序佇列,包括優化,現在我們再來學習下鏈式佇列。注 這裡還是要包含前面我們實現的鏈式鍊錶的標頭檔案和實現檔案。第十個例子,鏈式佇列的實現 標頭檔案 ifndef linkqueue h define linkqueue h typedef void linkqueue linkqueue ...