queue,佇列,和我們日常生活中的佇列是同樣的規則,「先進先出」,從尾入,從首出。
有外加的一些操作如 full(佇列是否已滿),serve_and_retrieve(檢視隊首元素同時去除)等等。
**(在eclipse執行通過):
.h標頭檔案
/*
* queue.h
* * created on: 2023年8月22日
* author: administrator
*/#ifndef queue_h_
#define queue_h_
enum error_code ;
typedef int queue_entry;
const int maxqueue = 2;
class queue
;#endif /* queue_h_ */
.cpp類實現檔案
/*
* queue.cpp
* * created on: 2023年8月22日
* author: administrator
*/#include "queue.h"
queue::queue()
bool queue::empty()const
}error_code queue::serve()
}error_code queue::retrieve(queue_entry &item)const
}bool queue::full()const
int queue::size()const
void queue::clear()
error_code queue::serve_and_retrieve(queue_entry &item)
}
main主函式測試檔案
/*
* main.cpp
* * created on: 2023年8月23日
* author: 呂奉先
*/#include "queue.h"
#include using namespace std;
void introduction();
char get_command();
bool do_command(char command, queue &test_queue);
int main()
void introduction()
break;
case'q':
cout<<"queue demonstration finished."
break;
case'h':
help();
break;
} return continue_input;
}
這裡有兩個很有趣的函式,get_command 和 do_command,能夠不斷讀取指令輸入並實時執行結果,很有用。
資料結構之佇列(Queue)
佇列,顧名思義,也就是一條隊伍,進入隊伍的時候,只能從隊尾排隊,離開隊伍的時候,只能從隊首離開。佇列也有陣列實現和鏈式實現。用一般陣列實現佇列的時候,入隊,則在隊尾插入乙個元素,出隊,則將隊首的元素出隊。那麼,由於陣列的長度是固定的,入隊只能從隊尾入隊,因此經常性的出隊會使得隊首越來越靠近隊尾,隊首...
資料結構之佇列 Queue
之前總結過棧相關的知識,佇列可以模擬棧來看。棧只能在一端進行操作 棧頂 新增元素或者刪除等都只能在棧頂 而佇列有兩端可以操作,在一端新增元素,在另一端刪除元素。我們把新增元素的一端稱為隊尾 刪除元素的一端稱為隊首。比如生活中的排隊 城市中基本 都有,這就是乙個佇列。在隊伍最前面就是隊首,也是最先完成...
python資料結構之佇列(queue)
佇列是一種特殊的線性表,先進先出,只允許在前端進行刪除,在後端進行插入操作,它的操作方式與堆疊類似,區別在於佇列只允許在後端插入資料。在python中有相應的類 import queue q queue.queue for i in range 4 q.put i 將乙個值放入佇列中 while n...