CodeForge.comFree Open Source Codes Forge and Sharing |
///
/// @file wd_list.c
///
// 以下的代码仅仅做示范用。你可以修改和使用,但仅仅限于非商业
// 的应用。本代码不做任何质量和安全上的保证。任何商业使用必须
// 得到作者的许可。可以以以下方式与作者联系:
// MSN: walled_river@hotmail.com
// EMail: mfc_tan_wen@163.com
// QQ: 16191935
#include "wd_list.h"
#include "wd_mem.h"
// 删除一个节点,这个节点必须是不在任何链表中的
void wd_list_node_destroy(wd_list_node *node)
{
// 请注意我并不清理数据,也就是说您必须
// 首先自己清理数据,然后再删除节点
// wd_free(node->data);
node->data = NULL;
wd_free(node);
}
// 生成一个节点,不过这个节点还没有插入任何链表
wd_list_node* wd_list_node_create(wd_void *data)
{
wd_list_node *node =
wd_malloc(wd_false,
sizeof(wd_list_node));
if(node == NULL)
return node;
node->data = data;
node->list = NULL;
node->next = NULL;
node->prev = NULL;
return node;
}
// 一个空链表初始化
wd_list* wd_list_create()
{
// 直接初始化一个头即可.
wd_list *list = wd_malloc(wd_false,sizeof(wd_list));
if(list == NULL)
return NULL;
list->head = NULL;
list->tail = NULL;
wd_spin_init(&list->lock);
// wd_mutex_init(&list->lock);
return list;
};
// 清除一个链表,无论是否为空
void wd_list_destroy(wd_list* list)
{
// 先从尾开始删除所有的节点
wd_list_node *
...
...
... to be continued.
This is a preview. To get the complete source file,
please click here to download the whole source code package.
| Name | Size | Date |
| 0.00 B | 19% 13-10-05 | |
| 0.00 B | 22% 27-07-06 | |
| 0.00 B | 17% 08-12-05 | |
| 29.50 kB | 19-10-05 16:30 | |
| 32.50 kB | 10-01-06 10:39 | |
| 33.50 kB | 10-01-06 12:03 | |
| 40.00 kB | 01-11-05 17:36 | |
| 33.50 kB | 27-07-06 14:26 | |
| 30.00 kB | 13-10-05 11:52 | |
| 29.50 kB | 13-10-05 11:53 | |
| 0.00 B | 17% 13-10-05 | |
| 2.36 kB | 08-03-06 09:05 | |
| 3.38 kB | 08-03-06 09:05 | |
| 3.40 kB | 08-03-06 09:03 | |
| 2.02 kB | 02-03-06 17:48 | |
| 374.00 B | 07-09-05 15:41 | |
| 966.00 B | 06-03-06 23:41 | |
| 312.67 kB | 08-03-06 09:25 | |
| 108.00 B | 02-03-06 16:30 | |
| 6.15 kB | 08-03-06 09:05 | |
| 3.23 kB | 08-03-06 09:03 | |
| 12.88 kB | 08-03-06 09:05 | |
| 1.98 kB | 08-03-06 09:03 | |
| 5.49 kB | 08-03-06 09:05 | |
| 5.34 kB | 08-03-06 09:03 | |
| 8.14 kB | 08-03-06 09:05 | |
| 2.38 kB | 08-03-06 09:03 | |
| 3.40 kB | 08-03-06 09:03 | |
| 3.23 kB | 08-03-06 09:03 | |
| 1.98 kB | 08-03-06 09:03 | |
| 5.34 kB | 08-03-06 09:03 | |
| 2.38 kB | 08-03-06 09:03 | |
| 4.02 kB | 02-03-06 17:29 | |
| 14.93 kB | 28-02-06 17:57 | |
| 904.00 B | 20-12-05 19:26 | |
| 1.01 kB | 21-12-05 15:07 | |
| 6.97 kB | 28-02-06 14:45 | |
| 1.55 kB | 28-02-06 09:40 | |
| 2.07 kB | 21-12-05 15:01 | |
| 1.59 kB | 20-12-05 18:58 | |
| 2.03 kB | 04-03-06 10:36 | |
| 2.38 kB | 20-12-05 19:54 | |
| 3.57 kB | 04-03-06 10:42 | |
| 2.32 kB | 23-12-05 13:33 | |
| 312.67 kB | 08-03-06 09:25 | |
| 258.02 kB | 08-03-06 09:25 | |
| 2.05 kB | 08-03-06 09:07 | |
| 2.89 kB | 08-03-06 09:24 | |
| 374.00 B | 07-09-05 15:41 | |
| 712.00 B | 06-03-06 23:55 | |
| 20.00 kB | 07-03-06 00:10 | |
| 179.00 B | 07-03-06 00:08 | |
| 3.17 kB | 08-03-06 09:26 | |
| 2.84 kB | 08-03-06 09:24 | |
| 374.00 B | 07-09-05 15:41 | |
| 710.00 B | 08-03-06 09:24 | |
| 20.50 kB | 08-03-06 09:26 | |
| 177.00 B | 08-03-06 08:55 | |
| 374.00 B | 07-09-05 15:41 | |
| 949.00 B | 02-03-06 16:30 | |
| 258.02 kB | 08-03-06 09:25 | |
| 108.00 B | 02-03-06 15:45 | |
| 3.63 kB | 04-03-06 10:34 | |
| 4.02 kB | 02-03-06 17:29 | |
| 2.30 kB | 02-03-06 17:48 | |
| 14.93 kB | 28-02-06 17:57 | |
| 7.12 kB | 08-03-06 09:03 | |
| 904.00 B | 20-12-05 19:26 | |
| 1.01 kB | 21-12-05 15:07 | |
| 6.97 kB | 28-02-06 14:45 | |
| 2.68 kB | 08-03-06 09:03 | |
| 1.55 kB | 28-02-06 09:40 | |
| 2.07 kB | 21-12-05 15:01 | |
| 1.59 kB | 20-12-05 18:58 | |
| 10.22 kB | 04-03-06 10:35 | |
| 2.03 kB | 04-03-06 10:36 | |
| 2.38 kB | 20-12-05 19:54 | |
| 21.22 kB | 08-03-06 09:03 | |
| 3.57 kB | 04-03-06 10:42 | |
| 8.15 kB | 08-03-06 09:03 | |
| 2.32 kB | 23-12-05 13:33 | |
| 1.47 kB | 08-03-06 09:24 | |
| 346.00 B | 08-03-06 08:52 | |
| 17.27 kB | 08-03-06 09:36 | |
| 297.71 kB | 26-07-06 17:28 | |
| 1.30 kB | 27-07-06 14:41 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 17-10-06 09:02 | |
| 0.00 B | 05-09-08 09:10 |