版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Mr_Qin_AC/article/details/82864421
#include<stdio.h>
#include<stdlib.h>
struct node
{
int data;
struct node *next;
}*head;
int len;
void insert(int mi, int xi)
{
int i;
struct node *p, *q;
p = head;
for(i = 1; i <= mi && i <= len; i++)
{
p = p-> next;
}
q = (struct node*)malloc(sizeof(struct node));
q-> data = xi;
q-> next = p-> next;
p-> next = q;
len++;
}
void print()
{
struct node *p;
int i;
p = head-> next;
for(i = 1; i <= len; i++)
{
if(i == 1)
{
printf("%d", p-> data);
}
else
{
printf(" %d", p-> data);
}
p = p-> next;
}
printf("\n");
}
int main(void)
{
int mi, xi, n, i;
head = (struct node*)malloc(sizeof(struct node));
head-> next = NULL;
while(~scanf("%d", &n))
{
len = 0;
for(i = 1; i <= n; i++)
{
scanf("%d %d", &mi, &xi);
insert(mi, xi);
}
print();
}
return 0;
}