資料結構和演算法之陣列實現佇列

2021-09-29 06:18:55 字數 1271 閱讀 8828

直接上**,自已已經親測過:

/**

* 陣列實現佇列

* author : bluesky 2019.11.01

* 思路:

* 1、利用雙指標分別指向頭結點和尾結點來控制先進先出的特性。

* 2、每次出隊操作,將後面的資料向前移一位,來解決頭和尾指標向後移動以至於不能插入新資料的問題,但是時間複雜度比較高,出隊時間複雜度會由o(1) 變為 o(n),不建議採用。

* 3、每次入隊操作,判斷如果尾結點達到陣列最後面,就把頭結點和尾節點所有資料移動到陣列最前面。時間複雜度還是o(1) 。

*/public

class

arrayqueuemain

public

static

class

arrayqueue

/** * 入隊v1

*/public boolean addv1

(string data)

array[tail]

= data;

++tail;

return

true;}

/** * 入隊v2

*/public boolean addv2

(string data)

// 資料遷移

system.out.

println

("data move");

for(

int i =

0; i< tail - head; i++

)// 遷移後需要將指標復位

tail = capacity - head;

head =0;

system.out.

println

("move after tail:"

+ tail)

;// 列印

for(

int i =

0; i< capacity; i++)}

array[tail]

= data;

++tail;

for(

int i =

0; i< capacity; i++

)return

true;}

/** * 出隊

*/public string poll()

string res = array[head]

;++head;

return res;}}

}

資料結構和演算法 2 之陣列實現佇列

學習資料結構和演算法的日常demo 佇列介紹 佇列是乙個有序列表,可以用陣列或是鍊錶實現 遵循先進先出的原則 陣列模擬佇列思路 實現 public class arrayqueuedemo catch exception e break case h trycatch exception e bre...

鹹魚學資料結構和演算法 佇列(陣列實現)

目錄 一 佇列介紹 二 陣列模擬佇列介紹 三 陣列模擬佇列 實現 將尾指標往後移 rear 1 當front rear 空 若尾指標 rear 小於佇列的最大下標 maxsize 1,則將資料存入 rear所指的陣列元素中,否則無法存入資料。rear maxsize 1 佇列滿 system.out...

資料結構 佇列之C陣列實現

佇列 是一種限定操作的線性表,它只能在表的 一段插入,另外一段取出 所以也稱為 先進先出 資料結構 fifo first in first out c 如下 有小bug不想調了,作為參考即可 include define maxsize 5 typedef int elemtype typedef ...