测试随笔功能
程序员文章站
2022-06-29 07:52:13
1111 啊啊啊啊 =-、*- ......
1111
啊啊啊啊
=-、*-
#include <stdlib.h> #include "list.h" // 创建节点 node* create_node(void* data) { node* node = malloc(sizeof(node)); node->data = data; node->next = null; return node; } // 销毁节点 void destory_node(node* node) { free(node->data); free(node); } // 创建链表 list* create_list(void) { list* list = malloc(sizeof(list)); list->head = null; list->tail = null; list->size = 0; return list; } // 销毁链表 void destory_list(list* list); // 尾添加 void add_list(list* list,void* data) { node* node = create_node(data); if(0 == list->size) { list->head = node; list->tail = node; } else { list->tail->next = node; list->tail = node; } list->size++; } // 删除 bool del_list(list* list,void* cond,compar cmp) { node* temp = list->head; if(cmp(cond,list->head->data)) { list->head = temp->next; destory_node(temp); list->size--; return true; } while(null!=temp->next) { if(cmp(cond,temp->next->data)) { node* node = temp->next; temp->next = node->next; if(node == list->tail) { list->tail = temp; } destory_node(node); list->size--; return true; } temp = temp->next; } return false; } // 查找 void* find_list(list* list,void* cond,compar cmp); // 排序 void sort_list(list* list,compar cmp); // 遍历 void show_list(list* list,void (*show)(void* data)) { for(node* node=list->head; null!=node; node=node->next) { show(node->data); } }