佇列的實現(一)順序佇列的實現

2021-07-13 10:45:05 字數 647 閱讀 5954

佇列:只能一端進行出棧一端進行進棧。

隊首:只允許進行出棧操作,可以進行刪除。

隊尾:只允許進行入棧操作,可以進行插入。

隊尾進,隊尾出,先進先出。

所以佇列的實現也有兩種形式,一種是陣列實現佇列,一種是用鍊錶實現佇列。

首先是用陣列來實現佇列。

使用陣列佇列,因為在刪除時front會越來越大,所以最後會出現一種還有空間但是卻顯示無空間的現象。

解決方法:

構建迴圈佇列,演算法為:

判斷是否隊滿:(rear+1)%a.length==front  //如果相等的話則證明佇列已滿

rear=(rear+1)%a.length;       //建立迴圈

實現**:

public class queue 

queue(int n)

public boolean add(node node)

} public node remove()

} public boolean isempty()

public int size()

}

迴圈佇列(順序佇列)的實現

迴圈佇列 順序佇列 的實現 include include include include define n 6 定義資料型別 typedef int datatype t 定義結構體 typedef structsequeue t sequeue t sq 建立乙個空的佇列 sequeue t s...

順序佇列的實現

include include typedef int elementtype 定義佇列元素型別 struct queue typedef struct queue protoqueue 佇列型別指標 protoqueue creatqueue int maxsize 建立佇列函式 bool isf...

佇列的順序實現

順序佇列是佇列的順序儲存結構,順序佇列實際上也是是運算受限的順序表。和順序表一樣,順序佇列用乙個結構體來存放當前佇列中的資料。設定兩個指標front和rear 由於佇列的隊頭和隊尾的位置是變化 分別指示隊頭元素和隊尾元素在記憶體中的位置,它們的初值在佇列初始化時均應設定為0 空佇列 規則 只允許在一...