佇列 鏈式結構 C 實現

2021-07-01 20:44:24 字數 1187 閱讀 6332

教科書告訴我們所先進先出的結構叫做佇列,沒錯,就是佇列,正如排隊一樣了,出隊永遠在隊頭,入隊永遠在隊尾,我們要頻繁對這兩個點進行操作,那麼應該選擇什麼樣的結構來實現呢?陣列,特點:實現簡單,容量有限,刪除一次要進行一定數量元素的移動,所有效率有待提高。當然可以迴圈使用陣列空間來避免移動元素帶來的開銷,但是呢,還是不如鏈式結構來得直觀。

#include using namespace std;

struct node//雙向鍊錶基本單元結構

;class queue//定義queue類封裝資料和實現

; void initialize();//初始化

void enqueue(int n);//入隊

void dequeue();//出隊

int get_front();//獲取元素

void clear();//清空佇列

int get_size();//返回元素個數

bool isempty();//判斷是否為空

void display_queue();//輸出佇列

};queue::queue()

void queue::initialize()

void queue::enqueue(int n)

void queue::dequeue()

//獲取刪除將要刪除的元素指標

node *temp = front->next;

front->next = temp->next;

temp->next->pre = front;

delete(temp);//釋放記憶體

size--;

}

int queue::get_front()

void queue::clear()

//呼叫函式重新初始化

initialize();

}int queue::get_size()

void queue::display_queue()

if (isempty())

cout << "queue is empty" << endl;

else

cout << endl;

}bool queue::isempty()

int main(int argc, char const *argv)

佇列實現 佇列的鏈式結構實現

佇列的實現,用單鏈表實現佇列的結構 1 初始化建立佇列 2 釋放佇列 3 清空佇列 4 計算佇列長度 5 判斷佇列是否為空 6 列印佇列元素 7 入隊操作 隊尾插入 8 出隊操作 隊首刪除 include typedef int datatype struct qnode struct lqueue...

佇列的鏈式儲存結構 C實現

佇列的鏈式儲存結構。佇列常用鍊錶來實現,簡稱為鏈佇列。本次設計的鏈佇列有頭結點,並且隊首指向頭結點,隊尾指向鏈尾結點。佇列是先進先出的線性表,在隊尾那一端插入元素,在隊首那一端刪除元素。c語言 define crt secure no warnings include includetypedef ...

佇列 鏈式結構 C語言實現

鏈式佇列需要乙個頭節點 front 和乙個尾節 rear 點來控制鍊錶的插入和刪除,入隊,從尾部插入,出隊,從頭部斷開輸出。這裡放兩張網上我覺得繪畫的很好的示意圖 借用csdn博主c zhang 入佇列示意圖 出佇列示意圖 初始化佇列 bool init queue queue queue 判斷佇列...