C 資料結構與演算法系列(三) 佇列(Queue)

2022-01-26 02:50:46 字數 1872 閱讀 8532

1.介紹

佇列是乙個有序列表,可以用陣列或是鍊錶來實現。

遵循先入先出的原則,即:先存入佇列的資料,要先取出。後存入的要後取出

佇列是屬於線性結構中的一種

2.圖示

3.通過陣列實現

public

class

circlearrayqueue

//////

佇列頭部

/// public

int front

//////

佇列尾部

/// public

int rear

//////

佇列陣列

/// public

int arr

//////

建構函式初始化佇列

/// ///

public circlearrayqueue(int

maxsize)

//////

判斷佇列是否為滿;當尾索引的下乙個為頭索引時表示佇列滿,將佇列容量空出乙個作為約定

/// ///

public

bool isfull() => (rear + 1) % maxsize==front;

//////

判斷佇列是否為空;當佇列首==佇列尾 首尾相等

/// ///

public

bool isempty() => front ==rear;

public

void addqueue(int

value)

}public

void

showqueue()

]=");}}

}//////

佇列尾 + 最大值 - 佇列首 % 最大值

/// ///

public

int size() => (rear + maxsize-front) %maxsize;

//////

取出佇列資料

/// ///

public

intgetqueue()

public

intheadqueue()

public

static

void

test()

catch

(exception ex)

break

;

case"h

":try

catch

(exception ex)

break

;

case"e

":loop = false

;

break

;

default

:

break

; }

}console.writeline(

"程式退出");}}

4.測試結果

C 資料結構與演算法系列 五 佇列

佇列是一種特殊的線性表,它只允許在表的前端 front 進行刪除操作,而在表的後端 back 進行插入操作。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。這也就是我們平常經常用說到的先進先出法則 fifo 佇列這種法則,在中國好久以前就開始運用了,例如糧倉管理 在沒掌握這種法則前,倉庫底部的糧...

資料結構 C語言版 系列三 佇列

佇列是一種先進先出的線性表,它只允許在表的一端進行插入,而在另一端刪除元素。這和我們日常生活中的排隊是一致的,最早進入佇列的元素最早離開。在佇列中,允許插入的一端叫做隊尾 rear 允許刪除的一段則稱為隊頭 front 假設隊列為q a1,a2,an 則a1就是隊頭元素,an是隊尾元素。除了棧和佇列...

學習筆記 資料結構(三) 佇列和棧

用python實現棧 棧的儲存順序是先入後出。class stack object def init self self.stack def push self,value 進棧 def pop self 出棧 if self.stack self.stack.pop else raise look...