#include <stdio.h>
typedef struct List {
int data;
struct List *next;
} List;
static struct List *head_handle = NULL;
int list_insert(struct List *handle)
{
struct List *target = head_handle;
while(target) {
if(target == handle) return -1;
target = target->next;
}
handle->next = head_handle;
head_handle = handle;
return 0;
}
void list_delete(struct List* handle)
{
struct List** curr;
for(curr = &head_handle; *curr; ) {
struct List* entry = *curr;
if(entry == handle) {
*curr = entry->next;
return;
} else {
curr = &entry->next;
}
}
}
struct List node1 = {111, NULL};
struct List node2 = {222, NULL};
struct List node3 = {333, NULL};
int main ()
{
list_insert(&node1);
list_insert(&node2);
list_insert(&node3);
list_delete(&node2);
printf("Hello World!\r\n");
return 0;
}
最简洁的链表插入和删除代码
于 2023-08-18 10:21:22 首次发布