學習資料結構和演算法的日常demo佇列介紹
- 佇列是乙個有序列表,可以用陣列或是鍊錶實現
- 遵循先進先出的原則
陣列模擬佇列思路
**實現
public
class
arrayqueuedemo
catch
(exception e)
break
;case
'h':
trycatch
(exception e)
break
;case
'e':
sc.close()
; loop =
false
;//退出迴圈
system.out.
println
("程式退出");
break
;default
:break;}
}}}/**
* 陣列實現佇列
*/class
arrayqueue
// 判斷佇列是否滿
public
boolean
isfull()
// 判斷佇列是否為空
public
boolean
isempty()
public
void
add(t n)
rear++
;//加入之後,尾向後指
arr[rear]
= n;
}// 獲取佇列資料,出佇列
public object get()
front++
;// front後移
return arr[front];}
// 顯示佇列所有資料
public
void
showqueue()
for(
int i = front +
1; i < maxsize; i++)}
// 顯示佇列的頭資料
public object headqueue()
return arr[front +1];}}
測試結果s--
-->顯示佇列
e----
>退出程式
a----
>新增資料到佇列
g----
>從佇列中取資料
h----
>檢視佇列頭資料
a請任意輸入:
1s--
-->顯示佇列
e----
>退出程式
a----
>新增資料到佇列
g----
>從佇列中取資料
h----
>檢視佇列頭資料
a請任意輸入:
2s--
-->顯示佇列
e----
>退出程式
a----
>新增資料到佇列
g----
>從佇列中取資料
h----
>檢視佇列頭資料
a請任意輸入:
3s--
-->顯示佇列
e----
>退出程式
a----
>新增資料到佇列
g----
>從佇列中取資料
h----
>檢視佇列頭資料s1
23s----
>顯示佇列
e----
>退出程式
a----
>新增資料到佇列
g----
>從佇列中取資料
h----
>檢視佇列頭資料
g取出的資料為:
1s--
-->顯示佇列
e----
>退出程式
a----
>新增資料到佇列
g----
>從佇列中取資料
h----
>檢視佇列頭資料s2
3s--
-->顯示佇列
e----
>退出程式
a----
>新增資料到佇列
g----
>從佇列中取資料
h----
>檢視佇列頭資料
g取出的資料為:
2s--
-->顯示佇列
e----
>退出程式
a----
>新增資料到佇列
g----
>從佇列中取資料
h----
>檢視佇列頭資料s3
s----
>顯示佇列
e----
>退出程式
a----
>新增資料到佇列
g----
>從佇列中取資料
h----
>檢視佇列頭資料
g取出的資料為:
3s--
-->顯示佇列
e----
>退出程式
a----
>新增資料到佇列
g----
>從佇列中取資料
h----
>檢視佇列頭資料
資料結構和演算法之陣列實現佇列
直接上 自已已經親測過 陣列實現佇列 author bluesky 2019.11.01 思路 1 利用雙指標分別指向頭結點和尾結點來控制先進先出的特性。2 每次出隊操作,將後面的資料向前移一位,來解決頭和尾指標向後移動以至於不能插入新資料的問題,但是時間複雜度比較高,出隊時間複雜度會由o 1 變為...
鹹魚學資料結構和演算法 佇列(陣列實現)
目錄 一 佇列介紹 二 陣列模擬佇列介紹 三 陣列模擬佇列 實現 將尾指標往後移 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 ...