資料結構 二 (佇列)

2021-10-01 02:26:39 字數 954 閱讀 4722

在模擬實現 佇列前應先簡單的了解先佇列的一些特點

佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端(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...