銀行取號排隊,先到先處理
/**
* 陣列模擬佇列,列表使用一次就不可使用,達不到復用的效果
*/public class arrayqueue
//佇列已滿
public boolean iffull(
) //隊列為空
public boolean isempty(
) //新增資料
public void addqueue(int data)
this.rear++;
arr[rear]
=data;
} //取出乙個資料
public int getqueue(
) this.front++;
return arr[front];}
//檢視佇列所有元素
public void showqueue(
)for
(int i=0; i} //檢視頭部元素,不取出
public int headqueue(
)return arr[this.front+1];}
public static void main(string[
] args)
catch (exception e)
break
;case
'h':
try catch(exception e)
break
;case
'e':
loop =
false
; system.out.printf(
"系統退出");
break;}
}}}
/**
* 陣列模擬迴圈佇列,犧牲乙個位置
* @author xiezf
* */
public class circlearrayqueue
public boolean iffull(
) public boolean isempty(
) //新增資料
public void addqueue(int data)
arr[rear]
=data;
this.rear =
(this.rear+1) % maxsize;
} //front指向佇列的第乙個元素
//1、先把front對應的值保留到乙個臨時變數
//2、將front後移,考慮取模
//3、將臨時保留的變數返回
public int getqueue(
) int temp = arr[front]
; this.front =
(this.front + 1) % maxsize;
return temp;
} //從front開始遍歷,
public void showqueue(
)for
(int i=front; i); i++)
} //求出當前佇列的有效個數
public int size(
) public int headqueue(
)return arr[this.front];}
public static void main(string[
] args)
catch (exception e)
break
;case
'h':
try catch(exception e)
break
;case
'e':
loop =
false
; system.out.printf(
"系統退出");
break;}
}}}
資料結構與演算法 佇列
學習了好長 一段時間的資料結構,由於時間關係一直沒有寫部落格。這次打算將這段時間的學習內容寫下來做個整理。佇列作為線性結構的一種,其實用性不用多說。這裡總結下兩種結構的佇列實現。迴圈佇列 先列下以順序表結構形成的普通順序佇列存在的問題 隊頭不斷刪除元素,將使佇列的頭部空出單元 隨著刪除 插入的進行,...
資料結構與演算法 佇列
佇列 佇列與棧不同,它是一種先進先出的結構 實現 1 陣列 2 鍊錶 記錄的資料 1 隊首位置 第乙個元素的位置 2 隊尾位置 最後乙個元素的位置 3 佇列大小 size 佇列操作 entryqueue 入隊 exitqueue 出隊 isqueueempty 隊列為空 isqueuefull 佇列...
演算法與資料結構 佇列
adt queue d d 資料關係 r r a i d,i 2,3,n r 約定a 1a 1 a1 端為隊首,a na n an 端為隊尾。基本操作 create 建立乙個空佇列 emptyque 若隊列為空,則返回true,否則返回false insertque x 向隊尾插入元素x delet...