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