到现在链表都不太会,贴份模版供自己看=。=
/*链表操作*/
#include <stdio.h>
#include <string.h>
#include <cstdlib>
struct node
{
int v;
node *next;
};
int n,m,x,y;
node *root;
void Print() //打印序列
{
node *p=root;
printf("%d",p->next->v);
p=p->next;
while(p->next)
{
printf(" %d",p->next->v);
p=p->next;
}
printf("\n");
}
int main()
{
int i;
root=(node *)malloc(sizeof(node));
root->next=NULL;
node *p,*k;
//一开始有n个整数,要进行m次操作
scanf("%d%d",&n,&m);
p=root;
for(i=1;i<=n;i++)
{
k=(node *)malloc(sizeof(node));
//node *k=(node *)malloc(sizeof(node));
scanf("%d",&k->v);
k->next=NULL;
p->next=k;
p=p->next;
}
//每次操作:输入x,y表示在当前序列第x数后面插入一个整数y
while(m--)
{
scanf("%d%d",&x,&y);
p=root;
while(x--) p=p->next;
k=(node *)malloc(sizeof(node));
//node *k=(node *)malloc(sizeof(node));
k->v=y;
k->next=p->next;
p->next=k;
}
//打印m次操作后的序列
Print();
return 0;
}
/*
3 2
1 2 4
1 7
3 -9
1 7 2 -9 4
*/