資料結構 陣列模擬實現佇列

2021-09-25 08:37:34 字數 1788 閱讀 3033

佇列是乙個有序列表,可以用陣列或是鍊錶來實現,它遵循先進先出原則

佇列本身是有序列表,若使用陣列的結構來儲存佇列的資料:

//陣列實現佇列

class

arrayqueue

//判斷佇列是否滿

//滿返回true,沒滿返回false

public

boolean

isfull()

//判斷佇列是否為空他,頭尾相等為空

//空返回true,非空返回false

public

boolean

isempty()

//新增資料到佇列

public

void

addqueue

(int data)

//tail後移

tail ++

; arr[tail]

= data;

}//出隊獲取資料

public

intgetdata()

head ++

;return arr[head];}

//顯示佇列所有資料

public

void

showqueue()

for(

int i =

0; i < arr.length; i++)}

//顯示佇列的頭

public

intheadqueue()

return arr[head +1]

;}}

class

circlearray

//判斷佇列是否滿

//滿返回true,沒滿返回false

public

boolean

isfull()

//判斷佇列是否為空他,頭尾相等為空

//空返回true,非空返回false

public

boolean

isempty()

//新增資料到佇列

public

void

addqueue

(int data)

//直接將資料加入

arr[tail]

= data;

//將tail後移

tail =

(tail +1)

% maxsize;

}//出隊獲取資料

public

intgetdata()

//這裡要分析出head是指向佇列的第乙個元素

//先把head對應的值保留到乙個臨時變數

//head後移

//返回臨時變數

int value = arr[head]

; head =

(head +1)

% maxsize;

return value;

}//求出當前佇列有效資料個數

public

intsize()

//顯示佇列所有資料

public

void

showqueue()

//從head開始遍歷

for(

int i = head; i < head +

size()

; i++)}

//顯示佇列的頭

public

intheadqueue()

return arr[head];}

}

模擬實現「佇列」資料結構

佇列也是一種特殊的資料結構,原則是先進先出 fifo 只允許在一端插入,稱為 隊尾 在另一端刪除,稱為 隊頭 佇列可以用陣列 鍊錶實現,但是用鍊錶實現更優。以下就是使用鍊錶實現的。queue.h pragma once include commen.h 佇列 單鏈表實現 typedef int qd...

模擬實現「棧」資料結構

棧 是一種資料結構 特殊的線性表。原則是後進先出 lifo 只允許在固定的一一端進行插入 刪除,稱為 棧頂 而另一端稱為 棧底 棧 可以用陣列 鍊錶來模擬實現,但是陣列方式更優,以下我們就使用陣列來模擬實現。stack.h pragma once include commen.h 棧 陣列實現 ty...

資料結構 陣列模擬環形佇列

一 用陣列模擬佇列時,要考慮到復用的效果,所以用環形佇列來表示 二 陣列模擬環形佇列中 往佇列裡新增資料 思路 先判斷佇列是否為滿,rear 1 maxsize front 將資料加入佇列,arr rear n 將隊尾指標往後移,rear要取模,rear rear 1 maxsize 三 往佇列裡取...