双向链表
不存在专用于创建链表的函数。而是简单地创建一个类型为 Glist* 的变量,并把它的值设置为 NULL;NULL被当作空表。
GList *g_list_append( GList *list, |
GList *g_list_prepend( GList *list, |
GList *g_list_insert( GList *list, |
此函数插入一个新元素(具有值data )到链表中指定位置,如果位置是 0,它和 g_list_prepend() 函数作用相同,如果位置,它和 g_list_append() 函数作用相同。
GList *g_list_remove( GList *list, |
此函数从表中移除一个具有值data 的元素,如果该元素不存在,链表不变。
void g_list_free( GList *list ); |
此函数释放由Glist使用的所有存储区,如果表元素空间是通过动态分配的,则应首先被释放。
还有许多其它支持双向链表的Glib函数;查看文档获得更多的信息。这儿列出几个更有用的函数的声明:
GList *g_list_remove_link( GList *list, |
| <<< Previous | Home | Next >>> |
| GLib | Up | 单向链表 |

本文介绍了一个标准双向链表的数据结构及基本操作,包括创建、管理、遍历和销毁等。重点介绍了如何使用Glib库提供的函数如g_list_append、g_list_prepend、g_list_insert、g_list_remove和g_list_free等进行链表的增删改查。
3544

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



