因为结构内存的差异,所以有头插法和尾插法两种形式。
本章博客主要讲解头插法
操作流程如下图
如下代码:
///插入元素,在指定的位置插入给定的值
//因为链表这种结构的内存是由程序员管理的,因此他的建立有一定的运算方法
//尾插法建立单链表(将逻辑上的顺序表放入单链表的物理结构当中)
/*
顺序表:12,33,44,76,89,90(逻辑上的顺序表)=>单链表
本例中我们用数组表示这种顺序表
*/
//arr:传入的顺序表,length:顺序表的长度
LinkListNode *create_Real_LkList(ElemType arr[],int length)
{
LinkListNode *pHead,*p,*q;
int i;//循环变脸用来遍历全部的顺序表
pHead = (LinkListNode*)malloc(sizeof(LinkListNode));
q = pHead; //q是获得了当前链表的头结点,q保存了pHead同时通过q不断前移是的链表串联起来
for(i=0;i<length;i++)
{
//获得一个单链表的结点,将这个结点加入到由pHead指向的链表当中
p = (LinkListNode *)malloc(sizeof(L