在模擬實現 佇列前應先簡單的了解先佇列的一些特點
佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。
佇列最大的特點就是先進先出
利用陣列實現單向佇列
// 使用陣列模擬 單向佇列// 整個過程就是利用 出隊指標和入隊指標來完成佇列先進先出的特性
//頂部指標始終指向第乙個入隊的數,當頂部元素出隊後指標向後移動
// 步驟
/* 1 佇列的初始化 包括 乙個用來 指向頂部的指標 (出隊),乙個指向尾部的指標 (用於入隊) 乙個陣列
* 2 判斷陣列 是否滿了的方法 ,和是否為空的方法
* 3 新增 元素到佇列的方法 : 每當元素入隊時判斷佇列是否滿了,判斷通過則 對當前的尾指標進行後移並存放元素
* 4出隊方法,出隊前判斷佇列是否為空,不為空輸出當前出隊指標指向的元素,並將出隊指標後移
* */
class arrayqueue
// 判斷佇列 是否滿了
public boolean isfull()
// 判斷是否為空
public boolean isempty()
//新增資料 到佇列
public void addqueue(int n)
rear++ ; //rear 後移
arr[rear] = n;
}// 獲取佇列資料
public int getqueue()
font++; //
return arr[font];
}//顯示資料
public void show ()
for(int i =0 ;i}
}
資料結構(二) 佇列
一 佇列定義 佇列是限定在一端進行插入,另一端進行刪除特殊線性表。二 佇列基本操作 入隊出隊 三 佇列例題 1.例1 舞伴配對問題 分析 這一題是一道經典的取模運算,每一次將編號往前加一位,到達n就取模。include include include include int main return ...
演算法與資料結構 二 佇列
佇列也是一種線性的資料結構,它與鍊錶的區別在於鍊錶可以在任意位置進行插入刪除操作,而佇列只能在一端進行插入,另一端進行刪除。它對應於現實世界中的排隊模型。佇列有兩種常見的實現方式 基於列表的實現和基於陣列的實現 基於鍊錶的佇列,我們需要儲存兩個指標,乙個指向頭節點,乙個指向尾節點。這種佇列不存在佇列...
資料結構5 佇列
5.1簡介 佇列 queue 和堆疊一樣是一種有序鍊錶,屬於抽象資料型別。不同在於是先進先出 first in,first out,fifo 堆疊只需要乙個top指標指向堆疊頂端即可,但是佇列必須使用front和rear兩個指標分別指向佇列的前端和尾端。基本操作 1 create 建立空佇列 2 a...