資料結構之佇列

2021-09-11 17:50:04 字數 1200 閱讀 2115

佇列是一種特殊的線性表,它特殊之處在於它只能在頭端進行刪除操作,在後端進行插入操作。和棧具有相同的性質它也是一種操作受限制的線性表,通常又稱為先進先出。它也是演算法中常使用的重要知識。 接下來我的**實現使用了c++中的模板類實現,這樣操作比較靈活可以根據實際需要插入的型別進行操作,首先先介紹一下模板類的使用方法。

模板類:templateclass< t > 類名 

#include

using namespace std;

templateclass fell ;

templatet fell::printf()

int main()

接下來我就給大家講一下使用模板如何實現佇列。其實實現的方法一樣只是將**靈活化,首先先插入data->pushdata()函式,在插入資料的時候要考慮該佇列是否已滿判斷函式->iffull(),分兩種情況1:滿->用t *data=new t[maxroom]開闢空間(加一)2:不滿則data[front+1]=value;刪除一樣分兩種情況1:空(不輸出)2:非空->delete()函式實現,最後是輸出則按照先進先出的原則即可。

具體**實現如下:

/*佇列*/

#include

#define maxsize 10

using namespace std;

templateclass queue ;

templatequeue::queue()

templatequeue::~queue()

templatet queue::pushdata(t value)

else if (!iffull())

return 0;

}templatet queue::iffull()

else

return false;

}templatet queue::dalation()

templatet queue::deletedata()

else if (!ifempty())

return 0;

}templatet queue::ifempty()

templatet queue::printf()

else

}return 0;}

int main()

資料結構之佇列

八 佇列 鏈式佇列 鍊錶實現 隊尾 rear 隊首 front 靜態佇列 陣列實現 必須是迴圈佇列 需要幾個引數來確定,各引數含義 1 佇列初始化 front和rear值都是0 2 佇列非空 front代表佇列第乙個元素 rear代表佇列最後乙個元素的 下乙個元素 3 佇列空 front和rear相...

資料結構之佇列

與棧相反,佇列是一種先進先出的線性表,它只允許在表的一端進行,而在另一端刪除元 素。在佇列中,允許插入的一端叫做隊尾,允許刪除的一端則稱為隊頭。1 鏈佇列 佇列的鏈式表示和實現 用鍊錶表示的佇列簡稱為鏈佇列,乙個鏈佇列顯然需要兩個分別指示對頭和隊尾的指標 分別稱為頭指 針和尾指標 才能唯一確定。這裡...

資料結構之佇列

一 佇列的介紹 佇列 queue 是一種線性儲存結構。它有以下幾個特點 1 佇列中資料是按照 先進先出 fifo,first in first out 方式進出佇列的。2 佇列只允許在 隊首 進行刪除操作,而在 隊尾 進行插入操作。佇列通常包括的兩種操作 入佇列 和 出佇列。1.佇列的示意圖 佇列中...