53 lines
1.6 KiB
C
53 lines
1.6 KiB
C
#include "../inc/data_type_def.h"
|
||
#include "../inc/clist.h"
|
||
|
||
int32_t main(void)
|
||
{
|
||
clist_node_t *head = NULL; // 创建头指针,初始化为NULL
|
||
clist_init(&head); // 初始化指针(可有可无)
|
||
|
||
// 1:添加数据
|
||
for (int32_t i = 0; i < 30; i++)
|
||
{
|
||
if (i > 10)
|
||
clist_push_front(&head, (cnode)i); // 头部插入
|
||
else
|
||
clist_push_back(&head, (cnode)i); // 尾部插入
|
||
}
|
||
|
||
LOG_PRINT("\n 1: count:%d \n", clist_node_count(head)); // 获取链表节点数,打印
|
||
clist_print(head); // 打印链表
|
||
|
||
// 2:删除数据
|
||
for (int32_t i = 0; i < 10; i++)
|
||
{
|
||
if (i > 5)
|
||
clist_pop_back(&head); // 删除尾部
|
||
else
|
||
clist_pop_front(&head); // 头部删除
|
||
}
|
||
LOG_PRINT("\n 2: count:%d \n", clist_node_count(head));
|
||
clist_print(head);
|
||
|
||
// 3:插入数据
|
||
clist_insert(&head, 5, (cnode)1111);
|
||
clist_insert_for_node(&head, head->next->next->next->next->next, (cnode)10000);
|
||
clist_insert(&head, 1000, (cnode)2222); // 无效插入
|
||
LOG_PRINT("\n 3: count:%d \n", clist_node_count(head));
|
||
clist_print(head);
|
||
|
||
// 4:删除指定节点
|
||
clist_remove(&head, (cnode)5);
|
||
clist_erase_for_node(&head, head->next->next);
|
||
clist_remove(&head, (cnode)1000); // 无效删除
|
||
clist_print(head);
|
||
LOG_PRINT("\n 4: count:%d \n", clist_node_count(head));
|
||
clist_print(head);
|
||
|
||
// 5:删除所有节点
|
||
clist_destroy(&head);
|
||
LOG_PRINT("\n 5: count:%d ", clist_node_count(head));
|
||
clist_print(head);
|
||
return 0;
|
||
}
|