单向链表的C语言实现
单向链表(slist.h/.c)适合轻量场景,接口极简。
// slist.h
#ifndef SLIST_H
#define SLIST_H
typedefstruct slist_node {
void *data;
struct slist_node *next;
} slist_node_t;
voidslist_push_front(slist_node_t **head, void *data);
voidslist_free(slist_node_t *head);
#endif
// slist.c
#include "slist.h"
#include <stdlib.h>
voidslist_push_front(slist_node_t **head, void *data) {
slist_node_t *node = malloc(sizeof(slist_node_t));
node->data = data; node->next = *head; *head = node;
}
voidslist_free(slist_node_t *head) {
while (head) { slist_node_t *tmp = head; head = head->next; free(tmp); }
}
单向链表用途很广泛的 单向链表应用很典型 单向链表的C语言实现 单向链表的C语言实现直接调用就可以的 单向链表的C语言实现 单向链表的C语言实现 单向链表的C语言实现很经典的实现
页:
[1]