一、简单描述
如果要实现在结点p和p->next之间插入节点s,s的数值域为e
结果:在第i处插入新元素e,形成新链表
(图源:程杰《大话数据结构(溢彩加强版)》)
核心算法:
1.s->next=p->next; //把原先p的后继赋值给s的后继
2.p->next=s; //把s的后继赋值给p的后继
二、详细步骤:
1.初始化指针和计数器
j初始化为1,用于记录当前遍历的节点位置
定义两个指针变量p和s,其中p
指向链表的头节点,s
用于指向新节点。
int j=1;
LinkList p,s;
p=*L;
2.遍历链表找到第i个位置节点
使用while循环,直到找到第i个位置或链表末尾
while(p&&j<i){
p=p->next;
++j;