資料結構之線性佇列

2021-06-21 11:45:09 字數 876 閱讀 3681

1、佇列的定義及基本運算

定義:

佇列(queue)是只允許在一端進行插入,而在另一端進行刪除的運算受限的線性表

(1)允許刪除的一端稱為隊頭(front)

(2)允許插入的一端稱為隊尾(rear)

(3)當佇列中沒有元素時稱為空佇列

(4)佇列亦稱作先進先出(first in first out)的線性表,簡稱為fifo表

基本運算:

#define size 50 //佇列的大小

#define queue_size (size+1) //實際分配的大小

typedef int queue_type;

struct queue

;//佇列的初始化

bool init_queue(queue* q)

//銷毀佇列

void destroy_queue(queue* q)

//清空佇列

void empty_queue(queue* q)

//判斷佇列是否滿

bool isfull(queue* q)

//判斷佇列是否空

bool isempty(queue* q)

//入佇列

bool in_queue(queue* q, queue_type d)

//出佇列

bool out_queue(queue* q, queue_type* d)

//返回隊頭元素,但不改變佇列的狀態

bool test_queue(queue* q, queue_type* d)

資料結構之線性結構之佇列

佇列 操作受限制的線性表 先進先出,一端插入,另一端輸出 如果是正常的線狀佇列,前面刪除資料部分的空間無法使用,會造成浪費 所有出現迴圈佇列 迴圈佇列會出現的問題 空滿時front rear都是相等,無法區分 原因 n種長度值對應n 1種情況 解決方法 使用額外標記 size或者tag 僅僅使用n ...

資料結構 線性佇列

description 佇列的順序儲存方式的練習 主要是關於佇列的基本的操作 包括初始化佇列 判空佇列 入隊 出對 讀對頭元素以及讀隊中的所有的元素 本次練習採用的是 隊尾指標指向隊尾元素的下乙個位置 author qichaoqun date 2019 08 09 include stdio.h ...

線性資料結構 佇列

上次說了,一頭進一頭出的就是棧,那麼什麼是佇列 queue 呢,就是一頭進另一頭出。正如我們排隊一樣,來了人只能站在隊尾,先走的人只能是隊頭。在佇列中,總是遵循fifo,fist in first out。這個就不再這裡過多敘述了,通常採用連續的資料空間儲存佇列中的元素,就像這樣子 其中front表...