推免複習之資料結構與演算法 環形佇列

2021-09-24 17:19:33 字數 901 閱讀 7024

back=(back+1)%maxsize;

front=(front+1)%maxsize;

大致上就是這兩個操作,總之,問就是取餘。

實現**如下所示:

(ps:main函式裡的是我自己的測試**,我能確定不會發生假溢位,有沒有其他bug我就沒有測試啦 :p )

#include#includeusing namespace std;

class circularqueue

;circularqueue::circularqueue(int max=100)

circularqueue::~circularqueue()

bool circularqueue::enqueue(int value)

else }

bool circularqueue::dequeue()

else }

int circularqueue::getfront()

else }

bool circularqueue::isempty()

else }

bool circularqueue::isfull()

else }

int main()

cout << cq->isfull() << endl;

for (int i = 0; i < 49; i++)

for (int i= 0; i < 49; i++)

for (int i = 0; i < 49; i++)

for (int i = 0; i < 49; i++)

for (int i = 0; i < 49; i++)

system("pause");

return 0;

}

推免複習之資料結構與演算法 快速排序

本來吧,快排我已經寫了一兩篇文章記錄了,但是我有一點強迫症,我想讓這個系列能包括盡量全面的演算法和知識點,所以我又重新寫了一篇文章放在這裡,其實就是簽個到hhh 具體的教程還是看別人的文章把,這些排序演算法的講解都要做很多圖,我沒這個耐心 include includeusing namespace...

推免複習之資料結構與演算法 DFS和BFS

dfs是深度優先遍歷,一般使用遞迴實現,優先選擇深度方向遍歷。bfs是廣度優先遍歷,一般使用迴圈和佇列實現,優先廣度方向上的遍歷,這兩個演算法都很常見,不多解釋。直接放 include include includeusing namespace std void inputgraph vector...

推免複習 資料結構 順序佇列

設定隊頭隊尾兩個指標。front指向隊頭元素前乙個位置,rear指向隊尾元素。這樣出隊入隊時間複雜度都是o 1 進隊 rear rear 1 出隊front front 1 造成假溢位現象,即元素被插入到下標大的空間後,佇列的空間用盡了,可是陣列低端還有空閒空間。改進方法 使用迴圈佇列。進隊 rea...