单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) +[ 指针](https://baike.baidu.com/item/ 指针/2878304)(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。接下来我们来学习如何用C语言写单链表。
一、单链表与单链表结点的创建函数
我们需要在C语言最基础的主函数中进行
#include <stdio.h>
#include <stdlib.h>
int mian()
{
return 0;
}
这是说一下为什么用到#include <stdlib.h> ,因为我们在创建单链表时需要用到动态内存申请malloc
结点属性设置:最基础的结点包含一个数据域和指针域,这里我们利用结构体创建一个包含一个整型数据的数据域和一个指针域,用于指向下一个结点
struct Node
{
int data;
struct Node* next;
};
单链表的创建:这里我们创建的是有头链表,所以创建单链表就是创建一个头结点并进行初始化,然后返回这一个结点,而这个就是一个只有头结点的单链表了(这里我们单独写个函数进行有头链表的创建)
struct Node* createList()
{
struct Node* list = (struct Node*)malloc(sizeof(struct Node)); //进行动态内存申请创建这个链表
if(list == NULL)
return NULL; //判空处理,如果没申请到内存,直接return
list->next = NULL; //初始化链表
return list;
}
单链表的结点创建:这里与单链表创建差不多,只是多了个数据域的初始化
struct Node* createNode(int data) //传入一个数据给我们创建的结点初始化
{
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));