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