佇列(陣列實現)

2021-10-23 13:43:46 字數 1426 閱讀 7484

在現實中,我們去銀行辦理業務的時候就需要排隊。你來的早,排在前面,就會越早的離開。而在你排的隊就是乙個佇列。

佇列是個有序列表,它遵循先進先出的原則。

根據佇列的先進先出的原則,我們就可以用**來實現乙個佇列。

首先在乙個arrayqueue類中建立乙個陣列來代表乙個佇列

private

int[

] arrayqueue;

// 建立乙個陣列

private

int maxsize;

// 佇列的最大長度

private

int front;

// 隊頭

private

int rear;

// 隊尾

然後我們要將這些資訊進行初始化

public

arrayqueue

(int max)

然後是對佇列的一些操作

// 判斷佇列是否已滿

// 當隊尾到達最大值時,佇列已滿( 陣列能儲存的最大下標為 n - 1 )

public

boolean

isfull()

// 判斷佇列是否為空

// 當隊頭和隊尾在同一位置時,則說明佇列中間沒有內容,即為空。

public

boolean

isempty()

// 新增資料

// 新增資料時要先判斷佇列是否已滿

public

void

addqueue

(int n)

rear ++

; arrayqueue[rear]

= n;

}// 從佇列中拿出資料

// 同理要先判斷佇列裡是否有資料

// 根據先進先出原則來取資料

public

intgetqueue()

front ++

;return arrayqueue[front];}

// 遍歷佇列

// 當隊列為空時,直接顯示隊列為空佇列

public

void

showqueue()

for(

int i =

0; i < arrayqueue.length; i++

) system.out.

print

(arrayqueue[i]

+" ");

system.out.

println()

;}

在這個佇列中存在乙個問題:只能使用一次,不能達到復用的效果。

而這個問題的解決辦法為:迴圈佇列。

迴圈佇列

佇列 陣列實現

佇列是一種先進先出的思想。first in first out 我們身邊的與佇列相關例項很多,火車站排隊買票或是買飯是排隊,都是佇列。因此我們很容易想到,佇列是有乙個頭乙個尾的,新來的總是在尾,最先來的總是最先買票或是吃飯,當然,像插隊一類的我們不做考慮,相信我們都不會喜歡這些的。佇列的成員的進出我...

陣列實現佇列

先進先出。insert入佇列,remove出佇列。陣列實現有佇列空,佇列滿。陣列實現佇列 陣列實現簡單佇列有頭和尾 指標 插入元素,隊尾rear指標上移加1。移除元素,隊頭指標上移加1。環繞處理 迴圈佇列 為了避免佇列不滿卻不能插入資料項的情況,可以讓隊頭隊尾指標繞回到陣列開始的位置,這就是迴圈佇列...

陣列實現佇列

咱不囉嗦佇列的特性先進先出,直接上 package com.dfsn.cloud.eureka public class queue arr new object initsize public void add t obj arr pushindex obj pushindex pushindex...