佇列的實現 c

2022-08-23 03:12:08 字數 1713 閱讀 5272

一、介紹

佇列(queue),是一種線性儲存結構。它有以下幾個特點:

(01) 佇列中資料是按照"先進先出(fifo, first-in-first-out)"方式進出佇列的。

(02) 佇列只允許在"隊首"進行刪除操作,而在"隊尾"進行插入操作。

佇列通常包括的兩種操作:入佇列 和 出佇列。

二、實現

c++的stl中本身就包含了list類,基本上該list類就能滿足我們的需求,所以很少需要我們自己來實現。本部分介紹2種c++實現。

1. c++實現一:陣列實現的佇列,能儲存任意型別的資料。

2. c++實現二:c++的 stl 中自帶的"佇列"(list)的示例。

1.c++實現一:陣列實現的佇列,能儲存任意型別的資料。

實現**:.h

#ifndef array_queue_hxx

#define array_queue_hxx#include

using

namespace

std;

template

class

arrayqueue;

//建立「佇列」,預設大小是12

templatearrayqueue

::arrayqueue() }//

銷毀「佇列」

templatearrayqueue

::~arrayqueue() }//

將val新增到佇列的末尾

template

void arrayqueue::add(t t)

//返回「佇列開頭元素」

templatet arrayqueue

::front()

//返回並刪除「佇列末尾的元素」

templatet arrayqueue

::pop()

//返回「佇列」的大小

template

int arrayqueue::size()

//返回「佇列」是否為空

template

int arrayqueue::is_empty()

#endif

view code

測試**: .cpp

#include #include 

"arrayqueue.h

"using

namespace

std;/**

* c++ : 陣列實現「佇列」,能儲存任意資料。

* * @author skywang

* @date 2013/11/07 */

intmain()

return0;

}

view code

2. c++實現二:c++的 stl 中自帶的"佇列"(list)的示例

#include #include 

using

namespace

std;/**

* c++ : stl中的佇列(queue)的演示程式。

* * @author skywang

* @date 2013/11/07 */

intmain ()

return0;

}

c 實現佇列

主要是想聯絡一下c 中的模板怎麼使用,隨便複習一下佇列。佇列最基本的資料結構元素先進先出,這些就不多說了。注意 寫程式時copy建構函式和copy賦值函式的寫法。include includeusing namespace std templateclass queueitem queueitem ...

C 實現佇列

像棧一樣,佇列 queue 也是表。然而,使用佇列時插入在一端進行而刪除則在另一端進行,也就是先進先出 fifo 佇列的基本操作是enqueue 入隊 它是在表的末端 叫做隊尾 rear 插入乙個元素 還有dequeue 出隊 它是刪除 或返回 在表的開頭 叫做隊頭 front 的元素。同樣,佇列也...

c 實現佇列

佇列是一種線性結構,具有先進先出的特點,以下是3種佇列基本操作的c 鏈式佇列 include include using namespace std vector a class node class linkqueue 初始化佇列 void linkqueue initqueue linkqueu...