利用陣列實現佇列操作

2021-06-16 08:16:33 字數 1081 閱讀 7741

利用陣列實現佇列操作

說明:

專案中有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 利用陣列實現迴圈佇列

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