链表是一种存储地址不连续的数据存储结构,相较于存储地址连续的数组,对于增删改查等操作更为便捷。链表由一系列不连续的节点组成,节点由数据域和指针域组成,可以在运行时动态开辟内存空间产生,单链表的指针指向下一节点地址,末节点的指针指向空(NULL):
1. 头插法
头插法顾名思义就是将新节点插入到节点之前,即将new的next指向head,整体思路是通过malloc()动态创建新节点用于存储输入的数据,如果输入0表示输入结束,再将新节点的next指向head,最后封装两个函数分别实现建立和插入。
代码如下:
#include<stdio.h>
#include<stdlib.h>
struct Text
{
int data;
struct Text *next;
};声明一个结构体,data存储数据,用next指向下一个节点
void printLink(struct Text *head)
{
struct Text *p;
p = head;
while(p != NULL){
printf("%d ",p->data);
p = p->next;
}
printf("\n###################################\n");
}//将链表头传到该函数遍