資料結構之鏈式佇列的簡單操作(有待優化)

2021-09-13 14:19:45 字數 2521 閱讀 2389

資料結構實驗三

實驗3:佇列的鏈式表示和實現

要求:構建2個用帶頭結點的單鏈表佇列qa和qb, 實現下列操作

1、初始化佇列(清空);

2、入隊;

3、出隊;

4、求佇列長度;

5、判斷佇列是否為空;

6、對於佇列qa和qb,如果其中乙個佇列的售貨員下班,則自動甩到另乙個佇列後面。

(別問我為什麼把front 和 rear 定義在結構體裡,可能是因為b格比較高趴,其實你可以直接定義在外面)

typedef

struct qnode

qnode,

*queueptr;

typedef

struct

linqueue;

void

creat

(linqueue &q)

//初始化

int

enqueue

(linqueue &q,

int e)

//入隊,其實這個就是單鏈表的前插 法,當然, 你也可以while(n--)

void

dequeue

(linqueue &q)

//全部出隊

q.rear = q.front;

cout << p->data <<

'\n'

;free

(p);

} cout <<

'\n';}

intdelete

(linqueue &q)

//清空佇列,和出隊差不多

q.rear = q.front;

free

(p);

return1;

}

你會發現,差不多趴。。。。。。

(核心**)

void

connect

(linqueue &q, linqueue &l)

//#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std ;

typedef

long

long ll;

#define maxn 100005

#define inf 0x3f3f3f3f

#define mall (qnode *)malloc(sizeof(qnode));

typedef

struct qnode//單鏈表

qnode,

*queueptr;

typedef

struct

//頭尾指標

linqueue;

void

creat

(linqueue &q)

//初始化

intenqueue

(linqueue &q,

int e)

//乙個元素乙個元素的入隊,當然, 你可以讀入n

void

dequeue

(linqueue &q)

//全部出隊,

q.rear = q.front;

cout << p->data <<

'\n'

;free

(p);

} cout <<

'\n';}

intdelete

(linqueue &q)

//清空佇列,和出隊差不多,就是沒有輸出資料

q.rear = q.front;

free

(p);

return1;

}void

len(linqueue q)

//求此時佇列的長度

if(le ==0)

cout <<

"該佇列目前為空"

<<

'\n'

;else

cout <<

"目前佇列的長度為:"

<< le <<

'\n';}

void

connect

(linqueue &q, linqueue &l)

//連線a,b兩個佇列

intmain()

if(c ==6)

break;}

else

if(c ==6)

break;}

system

("pause");

system

("cls");

}return0;

}

資料結構之鏈式佇列

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

資料結構之佇列(鏈式儲存)

一 佇列結點package linkedqueue packagname linkedqueue classname linkedqueuenode date 2017 1 25 author cullianns des 鏈式儲存結點結構 public class linkedqueuenode 二...

資料結構鏈式佇列

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