1.佇列
佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,
和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。
2.佇列的模型
3.基本演算法
1.獲取有效長度
2.是否為空
3.進隊
4.出隊
5.獲得對頭
6.清除隊
7.重寫tostring方法
4.實現方法一,順序佇列
使用列表實現順序佇列。
獲取有效長度
佇列的存的有效長度。
是否為空
有效長度是否為0。
進隊在陣列的尾部進入元素。
出隊在陣列的頭部刪除元素,後面的元素向前移動。
獲得對頭
獲取列表頭部的元素。
清除隊將列表的有效長度置為0。
重寫tostring方法
重新拼接字串,列印輸出。
**:
package p01.動態陣列;
public class arrayqueueimplements queue
public arrayqueue(int capacity)
@override
public int getsize()
@override
public boolean isempty()
@override
public void enqueue(e e)
@override
public e dequeue()
@override
public e getfront()
@override
public e getrear()
@override
public void clear()
@override
public string tostring()
stringbuilder sb=new stringbuilder("[");
for(int i=0;i二,鍊錶佇列
使用鍊錶列表實現。
獲取有效長度
佇列的存的有效長度。
是否為空
有效長度是否為0。
進隊在列表的尾部進入元素。
出隊在列表的頭部刪除元素,後面的元素向前移動。
獲得對頭
獲取列表頭部的元素。
清除隊將列表的有效長度置為0。
重寫tostring方法
重新拼接字串,列印輸出。
**:package p02.動態鍊錶;
import p01.動態陣列.queue;
public class linkedqueueimplements queue
@override
public int getsize()
@override
public boolean isempty()
@override
public void enqueue(e e)
@override
public e dequeue()
@override
public e getfront()
@override
public e getrear()
@override
public void clear()
}
5.迴圈順序佇列
將順序表收尾相連,形成迴圈表。實現方式:
資料結構 佇列
一 佇列的迴圈陣列實現。1 初始化 空佇列。令rear front 0。2 入佇列 約定rear指向佇列尾元素的下乙個位置。入佇列時,先判斷佇列是否已滿,而後將array rear x 然後rear 3 出佇列 約定front指向佇列的首元素位置。出佇列時,先判斷佇列是否為空,而後返回隊首元素re ...
資料結構 佇列
資料參考自 資料結構c 語言描述 佇列是一種先進先出的資料結構,這與棧正好相反。下例是簡單的queue實現 queue.h檔案 ifndef queue h define queue h include include 資料元素結構 自定義 struct datatype 佇列元素最大數 const...
資料結構 佇列
code for fun created by dream whui 2015 1 25 include stdafx.h include include using namespace std define true 1 define false 0 define ok 1 define erro...