佇列及順序表實現佇列

2021-10-03 12:22:51 字數 1050 閱讀 1467

1.佇列是一種特殊的線性表,是只允許表的一端進行插入操作,而表的另一端進行刪除操作的線性表。進行插入操作的一端是表尾(rear),進行刪除操作的一端是表頭(front)。當佇列中沒有資料元素時,稱為空佇列。

2.佇列的特點

先進先出

1.什麼是順序佇列

用一片連續的儲存空間來儲存佇列中的資料元素,這樣的佇列稱為順序佇列

表頭設定在最近乙個已經離開佇列的元素所佔的位置,用front表示

表尾設定在最近乙個進入佇列中的元素所佔的位置,用rear表示

2.front和rear隨著刪除和插入變化而變化。當隊列為空時,front和rear都為-1

3.判斷隊列為空的條件時?

rear==front;

4.判斷佇列已經滿了的條件是?

(rear+1)%max=front;

5.求迴圈佇列 資料元素的個數:

(rear+max-front)%max;

6.使隊尾始終在max-1的範圍內:rear=(rear+a)%max;

7.使隊頭始終在max-1的範圍內:front=(front+1)%max;

#include

#define max 5

intenqueue

(int

*a,int rear,

int front,

int data)

a[rear%max]

=data;

rear=

(rear+1)

%max;

//使隊尾始終在max-1的範圍內

return rear;

}int

dequeue

(int

*a,int rear,

int front)

printf

("出隊的元素為: %d\n"

,a[front]);

front=

(front+1)

%max;

return front;

}main()

順序表實現佇列

一.佇列相關概念 佇列是只允許在一段進行插入元素,在另一端進行刪除元素的線性表,即只允許對佇列進行尾插,頭刪的操作.佇列具有先進先出,後進後出的特性.1.初始化 2.列印佇列資訊 void testprintchar seqque q,char msg int i q head for i q ta...

單鏈表實現佇列 順序表實現佇列

一 sysutil.h 系統標頭檔案 include include include include include include include 記憶體洩漏工具的標頭檔案二 單鏈表實現佇列函式 include sysutil.h define queueelemtype int 鏈佇列typed...

基於順序表實現佇列

佇列是一種先進先出 fifo 的特殊線性表。它只允許在表的一端進行插入,而在另一端刪除元素。在佇列中,允許插入的一端叫做隊尾,允許刪除的一端則稱為隊頭。佇列的基本操作也有三種,分別為 入佇列 出佇列 取隊首元素。seqqueue.h pragma once include include inclu...