上QQ阅读APP看书,第一时间看更新
1.3.6 节点的插入
函数Insert()用于将节点x插入链表的第i个位置,参考代码如下。
1 Link Insert(Link Head,int x,int i) //插入节点x到第i个位置
2 {
3 Link NewPoint=new Lnode; //新建节点,new用于动态开辟内存空间
4 NewPoint->data=x; //为节点赋值
5 if(i==1) //如果插入位置为第一个节点位置
6 {
7 NewPoint->next=Head;
8 Head=NewPoint;
9 }
10 else
11 {
12 int j=1;
13 Link p=Head;
14 while(j<i-1 && p->next!=NULL) //找到i-1处
15 {
16 p=p->next;
17 j++;
18 }
19 if(j==i-1)
20 {
21 NewPoint->next=p->next;
22 p->next=NewPoint;
23 }
24 else printf("插入节点失败,输入的值错误!");
25 }
26 return Head;
27 }