順式佇列(迴圈佇列)8種操作的實現

2021-06-29 15:05:15 字數 2233 閱讀 3062

操作

時間複雜度(t(n))

空間複雜度(s(n))

求長度o(1)

o(1)

判斷是否為空

o(1)

o(1)

得到隊首元素

o(1)

o(1)

插入元素

o(1)

o(1)

刪除元素

o(1)

o(1)

清空佇列

o(1)

o(1)

判斷是否已滿

o(1)

o(1)

/*  資料結構分析與學習專欄

* 作 者: 高祥

* 完成日期: 2015 年 4 月 6 日

* 版 本 號:013

*任務描述:針對鏈式佇列,實現8個基本操作

* 1:建立佇列 ;

* 2:輸出佇列 ;

* 3:求佇列的長度 ;

* 4:判斷佇列是否為空 ;

* 5:得到佇列的隊首元素;

* 6:向佇列中插入元素(插在隊尾) ;

* 7:刪除佇列的元素(刪除隊首元素);

* 8: 清空佇列;

*主要函式:

* 1. initqueue(queue &q);//初始化佇列

* 2. createqueue(queue &q);//建立佇列

* 3. output(queue q);//輸出佇列元素

* 4. int queuelength(queue q);//求佇列的長度

* 5. isempty(queue q);//判斷佇列是否為空

* 6. isfull(queue q);//判斷佇列是否已滿

* 7. gethead(queue q);//得到佇列首元素

* 8. enqueue(queue &q,elemtype elem);//插入元素

* 9.dequeue(queue &q);//刪除元素

* 10. clearqueue(queue &q);//清空佇列 */

#include#includeusing namespace std;

#define ok 1

#define false 0

#define maxsize 10

typedef int elemtype;

typedef int status;

typedef struct

queue;

status initqueue(queue &q);//初始化佇列

void createqueue(queue &q);//建立佇列

void output(queue q);//輸出佇列元素

int queuelength(queue q);//求佇列的長度

status isempty(queue q);//判斷佇列是否為空

status isfull(queue q);//判斷佇列是否已滿

void gethead(queue q);//得到佇列首元素

status enqueue(queue &q,elemtypeelem);//插入元素

void dequeue(queue &q);//刪除元素

void clearqueue(queue &q);//清空佇列

void interaction();

int main()

break;

case 7:

dequeue(q);

break;

case 8:

clearqueue(q);

break;

default:

cout<

break;}}

return 0;}

status initqueue(queue &q)//初始化佇列

q.first=q.last=0;//初始化隊列為空

return ok;}

void createqueue(queue &q)//建立佇列

coutenqueue(q,elem);//借用插入元素函式

}cout<

output(q);

}} void output(queue q)//輸出佇列元素

return q.last+maxsize-q.first;

//首先此時(q.last

佇列的操作與實現 迴圈佇列

由於順序佇列有 假溢位 的缺點,所以在應用中,運用更多的是迴圈佇列來實現佇列的順序儲存。由於引用傳引數,所以原始檔需要.cpp字尾,即c 檔案儲存。迴圈佇列的判空條件為 q.rear q.fornt 迴圈佇列的判讀隊滿的條件是 q.rear 1 maxsize q.fornt 下面是佇列實現的儲存型...

迴圈佇列操作實現

該實現front始終指向當前的頭結點,rear始終指向尾結點的 下乙個結點 include include define maxnum 10 define datatype int typedef struct queue queue void initqueue queue p int empty...

佇列的一種實現 迴圈佇列

佇列的一種實現,迴圈佇列,通過使用固定長度陣列及首尾指標實現佇列的入隊 出隊等 class circularqueue 元素入隊,成功則返回true,否則false param value return public boolean put t value if isempty true tail ...