//从链表末尾添加节点int32_tlist_add_element(structLNode*L,int32_t element){if(L ==NULL){printf("[list_add]list head is NULL\n");return-1;}structLNode*add_node =(structLNode*)malloc(sizeof(structLNode));if(add_node ==NULL){printf("[list_add]malloc error\n");return-1;}
add_node->data = element;
add_node->next =NULL;structLNode*p = L;while(p->next !=NULL)//找到末尾节点{
p = p->next;}
p->next = add_node;
L->data++;return0;}
//删除第几个节点int32_tlist_delete_element(structLNode*L,uint32_t index){if(L ==NULL){printf("[list_add]list head is NULL\n");return-1;}if(L->data < index){printf("Number of nodes is insufficient\n");return-1;}structLNode*p = L;while(--index){
p = p->next;}structLNode*del_node = p->next;
p->next = p->next->next;
L->data--;free(del_node);return0;}
uint32_tlist_get_element_size(structLNode*L){if(L ==NULL){printf("[list_add]list head is NULL\n");return-1;}return L->data;}
//测试代码staticstructLNode*list =NULL;voidmain(){
list =list_init();list_add_element(list,1);list_add_element(list,2);list_add_element(list,3);list_add_element(list,4);list_add_element(list,5);printf("%d\n", list->data);list_delete_element(list,1);printf("%d\n", list->next->data);list_delete_element(list,2);printf("%d\n", list->next->data);printf("%d\n", list->next->next->data);}