基本資料結構 鏈式佇列

2021-06-19 21:10:36 字數 1552 閱讀 7223

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

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

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

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

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

佇列的修改是依先進先出的原則進行的。新來的成員總是加入隊尾(即不允許"加塞"),每次離開的成員總是佇列頭上的(不允許中途離隊),即當前"最老的"成員離隊。

佇列定義如下:

#ifndef linkedqueue

#define linkedqueue

#include using std::ostream;

template class linkedqueue

node(const t &value,node *node = nullptr) : data(value),next(node)

};node *front;//頭

node *rear;//尾

public:

linkedqueue() : front(nullptr),rear(nullptr)

~linkedqueue()

void makeempty()//佇列清空 }

bool enqueue(const t &value)//進隊

else

}bool dequeue(t &x)//出隊

else

}bool isempty() const

bool getfront(t &x)

else

}int size()

return k;

} friend ostream & operator<

return out;

}};#endif

測試**如下:

基本資料結構 佇列

佇列實現的是一種先進先出 first in,first out,fifio 的策略,佇列中的插入的操作稱為入隊 enqueue 佇列的刪除操作稱為出隊 dequeue 定義乙個陣列來實現佇列 public class queue public queue int n public boolean i...

基本資料結構 佇列(queue)

像棧一樣,佇列 queue 也是一種線性表,它的特性是先進先出,插入在一端,刪除在另一端。就像排隊一樣,剛來的人入隊 push 要排在隊尾 rear 每次出隊 pop 的都是隊首 front 的人。如圖1,描述了乙個佇列模型。和棧一樣,佇列也有陣列實現和鍊錶實現兩種,兩種實現都能給出快速的o 1 執...

(三)基本資料結構 佇列

三 具體 實現 陣列佇列的實現 佇列作為最常見的資料結構之一,其作用不言而喻。我將自定義乙個佇列的類,該佇列是基礎之前所學習的動態陣列實現的。本文實現了陣列佇列與迴圈佇列兩種資料結構。由於棧是fifo first in first out 型別,則棧的增刪只存在入隊enqueue 和出隊dequeu...