相信有了前面的基礎我們可以很容易的實現單向迴圈佇列
需要引入我的鍊錶的list.c和list.h
標頭檔案
//
// cycle_queue.h
// cycle_queue
//// created by bikang on 16/9/12.
//#ifndef __cycle_queue__cycle_queue__
#define __cycle_queue__cycle_queue__
#include
"clist.h"
typedef clist cqueue;
//從前面入佇列
int cqueue_enqueue(cqueue *
queue, void
*data);
//從前面出佇列
int cqueue_dequeue(cqueue *
queue, void
**data);
#define cqueue_peek(queue)((queue)->head ==
null
?null:((queue)->head->
data))
#define cqueue_size clist_size
#define cqueue_init clist_init
#define cqueue_destroy clist_destroy
#endif
/* defined(__cycle_queue__cycle_queue__) */
實現
//
// cycle_queue.c
// cycle_queue
//// created by bikang on 16/9/12.
//#include
"cycle_queue.h"
#include
int cqueue_enqueue(cqueue *
queue, void
*data)
int cqueue_dequeue(cqueue *
queue, void
**data)
測試用例
//
// main.c
// cycle_queue
//// created by bikang on 16/9/12.
//#include
#include
#include "cycle_queue.h"
void tqueue();
void p_queue(cqueue *queue);
int main(int argc, const
char * argv)
void tqueue()
p_queue(queue);
cqueue_destroy(queue);
}void p_queue(cqueue *queue)
printf("\n");
}
舞會(單向佇列)
舞會 問題描述 學校舉辦了一場舞會,男生和女生在入場時,各自排成一隊。伴奏響起時,依次從男隊和女隊的隊首各出一人配成舞伴。規定每個舞曲只有一對跳舞者,若兩隊初始人數不同,則較長的那一隊中未配對者等待下一輪舞曲。請利用程式模擬這個過程。輸入 一行,三個數字m,n和p,分別表示男隊人數 女隊人數和舞曲數...
單向迴圈鍊錶
單向迴圈鍊錶.cpp 定義控制台應用程式的入口點。include stdafx.h include include clinklist.h using namespace std int tmain int argc,tchar argv int n 5 測試空鍊錶 clinklistclist a...
迴圈單向鍊錶
typedef struct list list 初始化乙個迴圈單向鍊錶 void list init list head 判斷鍊錶是否為空 int is list empty list head 往迴圈單向鍊錶中插入乙個元素 prev 在prev元素後面插入 void list insert li...