ㅤ
ㅤ ㅤㅤ
ㅤ ㅤㅤ
ㅤ ㅤㅤ
ㅤ ㅤㅤ
ㅤ ㅤㅤ
ㅤ ㅤㅤ
ㅤ ㅤㅤ
ㅤ ㅤ
遍历链表,找到值得插入位置,或者指定的序号,将新节点的next指向该位置原来的节点,该位置的前一个节点的next指向新节点即可
你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#define N 10
struct list
{
int max;
int n;
int *a;
};
typedef struct list pseqlist;
pseqlist *creatmulllist_seq() //创建空表
{
struct list *palist;
palist = (pseqlist *)malloc(sizeof(pseqlist));
if (palist != NULL)
{
palist->a = (int *)malloc(sizeof(int) * N);
if (palist->a)
{
palist->n = 0;
return palist;
}
}
}
pseqlist *insert_sep(pseqlist *p, int m) //输入数组
{
int i, k;
p->n = m;
printf("输入数组:\n");
for (i = 0; i < m; i++)
{
scanf("%d", &k);
p->a[i] = k;
}
return p;
}
int insertPost_sep(pseqlist *q, int p, int x) //插入x
{
int i;
if (p < 0 || p > q->n - 1)
return 0;
else
{
q->n++;
for (i = q->n - 1; i > p; i--)
q->a[i] = q->a[i - 1];
q->a[p] = x;
return 1;
}
}
void main()
{
int m, p, x, i, k;
printf("输入数组的长度:\n");
scanf("%d", &m);
pseqlist *palist;
palist = creatmulllist_seq(); //创建空表
insert_sep(palist, m); //输入数组
printf("输入要插入的位置:\n");
scanf("%d", &p);
printf("输入要插入的数:\n");
scanf("%d", &x);
k = insertPost_sep(palist, p, x); //插入
if (k)
for (i = 0; i < palist->n; i++)
printf("%3d", palist->a[i]);
else
printf("没有插入成功");
printf("\n");
}
https://blog.csdn.net/weixin_45134977/article/details/97578901?spm=1001.2014.3001.5501
可以参考下博客噢写的很仔细了