利用陣列實現佇列操作

2021-08-26 14:04:02 字數 876 閱讀 2424

利用陣列實現佇列操作

說明:

專案中有30臺分機,每台分機都可能發出請求,主機需要按順序響應這些請求.這是乙個fifo先進先出的佇列結構,但主機的cpu是微控制器,用鍊錶實現占用資源太多,所以嘗試用陣列實現.

思路:

定義1個陣列,用下標表示分機號,用其中的值表示在佇列中的位置.

源**:

#include //佇列長度 #define len 30 int arr[len]; //初始化佇列 void init_list() } //獲得指定標號的佇列位置 int get_pos(int index) //獲得隊首標號 int get_head() if (get_pos(i) != 0 && get_pos(i) < arr[index]) } return index; } //獲得隊尾標號 int get_end() } return index; } //檢查佇列中是否有對應標號 //有返回1,沒有返回0 int check_in(int index) else } //進棧 int push(int index) //獲得隊尾標號 i = get_end(); //插入隊尾 arr[index] = get_pos(i) + 1; return 1; } //出棧 void pop() } } int main()

輸出:

隊首是3

隊尾是25

隊首是5

隊尾是25

隊首是7

隊尾是25

terminated with return code 0

press any key to continue ...

利用陣列實現佇列操作

利用陣列實現佇列操作 說明 專案中有30臺分機,每台分機都可能發出請求,主機需要按順序響應這些請求.這是乙個fifo先進先出的佇列結構,但主機的cpu是微控制器,用鍊錶實現占用資源太多,所以嘗試用陣列實現.思路 定義1個陣列,用下標表示分機號,用其中的值表示在佇列中的位置.源 include 佇列長...

利用陣列實現佇列操作

利用陣列實現佇列操作 說明 專案中有30臺分機,每台分機都可能發出請求,主機需要按順序響應這些請求.這是乙個fifo先進先出的佇列結構,但主機的cpu是微控制器,用鍊錶實現占用資源太多,所以嘗試用陣列實現.思路 定義1個陣列,用下標表示分機號,用其中的值表示在佇列中的位置.源 include 佇列長...

java 利用陣列實現迴圈佇列

迴圈佇列可以有效的利用資源。如果使用普通陣列實現佇列時,如果不進行移動,隨著資料的不斷讀寫彈出插入,會出現假滿佇列的情況。例如不斷向佇列中新增元素,然後在彈出元素。這是彈出元素所空閒出來的空間並沒有得到重複利用,這是就會出現陣列尾部已經滿了,但是頭部還有空閒空間沒有得到利用。入隊時尾指標向前追趕頭指...