链表的实现方式多种多样,有多个结构体的,有无用头节点的,以下实现方式简化了数据域,没有使用链表结构体,仅有一个结点结构体,思路为用二级指针的方法修改主函数中的头节点来达到修改内存中的链表。
//假装自己是写库函数的,用c语言来实现链表相关函数功能
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define TYPE int
typedef struct Node
{
TYPE data;//数据域
struct Node* next;//指针域
}Node;
//创建结点
Node* create_node(TYPE data)
{
Node* node = malloc(sizeof(Node));
node->data = data;
node->next = NULL;
return node;
}
//头添加结点
void add_head_list(Node** head,TYPE data)
{
Node* node = create_node(data);
if(NULL != *head)
node->next = *head