复习下数据结构,使用 C
语言实现了带头节点的单链表。单链表基本操作有:节点初始化、链表初始化、插入节点、查找节点、删除节点和删除链表等。下面的程序中,list.h
为头文件, 其中包含了上述基本操作的声明即链表节点的定义,lsit.c
为单链表操作函数的实现,main.c
是对单链表操作函数的测试。下面的程序可能因为笔者测试用例设计的问题而存在 bug
, 请读者仔细甄别。
// Filename: list.h
// Created by lbt on 2020-9-17.
// Description: head file for list demo
#ifndef UNTITLED_LIST_H
#define UNTITLED_LIST_H
struct ListNode{
int value;
struct ListNode* next;
};
struct ListNode* InitNode(int value);
struct ListNode* InitList();
void InsertNode(struct ListNode *pre, struct ListNode *new_node);
struct ListNode* SearchByValue(int target, struct ListNode *head);
void DeleteNode(struct ListNode *node, struct ListNode *head);
void DestroyList(struct ListNode **head);
#endif //UNTITLED_LIST_H
// Filename: list.c
// Created by lbt on 2020-9-17.
// Source file for list demo
#include <malloc.h>
#include <stdlib.h>
#include "list.h"