队列是一种向最后添加条目,从最前删除条目的数据结构,这种数据结构在处理按顺序到达的数据是很有用。glib库提供的队列GQueue是一个双端队列,它的实现基础是双向链表,所以它支持在队列的两端进行添加和删除,也支持很多其它的操作,比如在队列中进行插入和删除,但是我不推荐使用这样的功能,因为当你经常需要在队列中进行插入和删除的时候,链表或许是个更好的选择。
下面的代码演示利用glib库中的GQueue向队头、队尾添加数据和从队头、队尾删除数据的操作。
下面的代码演示利用glib库中的GQueue向队头、队尾添加数据和从队头、队尾删除数据的操作。
/***************************************************************************
file: g_queue.c
desc: 这个文件用于演示glib库中队列的基本操作
compile: gcc -o g_queue g_queue.c `pkg-config --cflags --libs glib-2.0`
***************************************************************************/
#include < glib.h >
void display_queue(GQueue * queue, const char * prompt)
{
int len = g_queue_get_length(queue);
int i = 0 ;
printf( " %s: /n
file: g_queue.c
desc: 这个文件用于演示glib库中队列的基本操作
compile: gcc -o g_queue g_queue.c `pkg-config --cflags --libs glib-2.0`
***************************************************************************/
#include < glib.h >
void display_queue(GQueue * queue, const char * prompt)
{
int len = g_queue_get_length(queue);
int i = 0 ;
printf( " %s: /n