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

2021-06-22 18:38:50 字數 1610 閱讀 5188

佇列的實現, 用單鏈表實現佇列的結構

1>初始化建立佇列

2>釋放佇列

3>清空佇列

4>計算佇列長度

5>判斷佇列是否為空

6>列印佇列元素

7>入隊操作 隊尾插入

8>出隊操作 隊首刪除

#include typedef int datatype;

struct qnode

;struct lqueue

;enum status;

// 初始化建立佇列

int initqueue(lqueue& que)

que.real = que.front;

que.front->next = null;

return ok;

}// 釋放銷毀佇列

void destoryquque(lqueue& que)

std::cout << "destory queue succeed ~" << std::endl;

}// 清空佇列

void clearqueue(lqueue& que)

que.real = que.front;

std::cout << "clear queue succeed ~" << std::endl;

}// 計算佇列長度

int lengthqueue(lqueue& que)

return len;

}// 判斷佇列是否為空

int emptyqueue(lqueue& que)

// 列印佇列現有元素

void printqueue(lqueue& que)

std::cout << " ]" << std::endl;

}// 入隊 隊尾進去

int pushqueue(lqueue& que, datatype val)

node->data = val;

node->next = null;

que.real->next = node;

que.real = node;

return ok;

}// 出隊 對首元素

int popqueue(lqueue& que, datatype& val)

int main()

std::cout << "pop " << std::endl;

datatype val;

for (int i = 1; i <= 15; i++)

printqueue(que);

std::cout << "current pop val :" << val << std::endl;

std::cout << "current queue length :" << lengthqueue(que) << std::endl;

} clearqueue(que);

printqueue(que);

std::cout << "current queue length :" << lengthqueue(que) << std::endl;

destoryquque(que);

return 0;

}

佇列 鏈式結構 C 實現

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

佇列實現 迴圈佇列 鏈式佇列

佇列 queue 是一種類似棧的資料結構,棧是 後進先出 而佇列是 先進先出 佇列通常模擬進出一致的資料處理場景,例如訊息推送處理,中的購物處理等.迴圈佇列預備知識 鏈式佇列預備知識 include include define error 0 define ok 1 define true 1 d...

鏈式佇列的實現

typedef struct nodelinklist typedef structlinkqueue void setnull linkqueue p set a empty queue,front and rear pointer both point to a head node void q...