佇列的實現, 用單鏈表實現佇列的結構
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...