一、介紹
佇列(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_hxxview code#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
測試**: .cpp
#include #includeview code"arrayqueue.h
"using
namespace
std;/**
* c++ : 陣列實現「佇列」,能儲存任意資料。
* * @author skywang
* @date 2013/11/07 */
intmain()
return0;
}
2. c++實現二:c++的 stl 中自帶的"佇列"(list)的示例
#include #includeusing
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...