队列是一种向最后添加条目,从最前删除条目的数据结构,这种数据结构在处理按顺序到达的数据是很有用。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 " ,

本文介绍了glib库中的GQueue数据结构,它是一个双端队列,基于双向链表实现。通过示例代码展示了如何进行添加、删除、插入和检查队列元素,包括向队头和队尾添加数据、从队头和队尾删除数据等操作。
最低0.47元/天 解锁文章
890

被折叠的 条评论
为什么被折叠?



