* 隊列為空丟擲該異常
*/public class queueemptyexception extends runtimeexception
}
/*
* 佇列用迴圈陣列實現
*/public class queuearray implements queue
public queuearray(int cap)
/* * 返回佇列大小
*/public int getsize()
/* * 判斷佇列是否為空
*/public boolean isempty()
/* * 資料元素入隊
*/public void enqueue(object obj)
/* * 陣列擴容
*/public void expandspace()
elements = a;
capacity = elements.length;
//設定新的隊首、隊尾指標
front = 0;
rear = j;
} /*
隊首元素離隊
*/public object dequeue() throws queueemptyexception
/* 取出隊首元素,不是離隊操作
*/public object peek() throws queueemptyexception
}
佇列 順序儲存結構,迴圈佇列
為什麼小甲魚上節課說佇列的實現上我們更願意用鏈式儲存結構來儲存?我們先按照應有的思路來考慮下如何構造佇列的順序儲存結構,然後發掘都遇到了什麼麻煩。我們假設乙個佇列有n個元素,則順序儲存的佇列需建立乙個大於n的儲存單元,並把佇列的所有元素儲存在陣列的前n個單元,陣列下標為0的一端則是隊頭。no pic...
佇列 迴圈佇列 的順序儲存實現
佇列的順序儲存實現 1 佇列 一端進,另一端出 佇列由兩個引數決定,front 頭 rear 尾 頭指標指向頭乙個元素,尾指標指向指向最後乙個元素的下一儲存單元 若陣列長度為n,當元素個數為n 1時就認為佇列已滿。r指向最後乙個空的元素空間。出隊 頭指標往上移動,入隊 尾指標向上移動,故 靜態佇列只...
迴圈佇列(即順序儲存的佇列,元素迴圈儲存)
在邏輯上把順序儲存的佇列想象成乙個環,就是迴圈佇列。迴圈佇列仍是順序儲存,只是元素可以迴圈儲存在給定的儲存空間。前篇文章,順序儲存佇列基本操作 所描述的佇列的儲存空間只可以使用一次,在一些元素出隊之後,空出來的空間沒有辦法再次儲存,造成浪費,所以更多選擇迴圈佇列。兩者的記憶體中的儲存一樣,只是邏輯上...