师--链表的结点插入
来源:互联网 发布:suse网络不通 编辑:程序博客网 时间:2024/06/04 19:03
师--链表的结点插入
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
给出一个只有头指针的链表和 n 次操作,每次操作为在链表的第 m 个元素后面插入一个新元素x。若m 大于链表的元素总数则将x放在链表的最后。
Input
多组输入。每组数据首先输入一个整数n(n∈[1,100]),代表有n次操作。
接下来的n行,每行有两个整数Mi(Mi∈[0,10000]),Xi。
Output
对于每组数据。从前到后输出链表的所有元素,两个元素之间用空格隔开。
Example Input
41 11 20 3100 4
Example Output
3 1 2 4
Hint
Author
01
#include<bits/stdc++.h>
02
using
namespace
std;
03
04
struct
node
05
{
06
int
data;
07
node *next;
08
};
09
int
len;
10
node *head;
11
12
void
Insert(
int
m,
int
n)
13
{
14
node *p,*tail;
15
tail=head;
16
for
(
int
i=0;i<m&&i<len;i++)
//从头结点处一直到序列m点,或者直到指向空
17
tail=tail->next;
18
p=
new
node;
19
p->data=n;
20
p->next=tail->next;
21
tail->next=p;
22
len++;
23
}
24
25
void
print()
26
{
27
node *p;
28
p=head->next;
29
while
(p)
30
{
31
if
(p->next)
//为啥不能是p呢?32
printf
(
"%d "
,p->data);
33
else
34
printf
(
"%d\n"
,p->data);
35
p=p->next;
36
}
37
}
38
39
int
main()
40
{
41
int
t,m,n;
42
while
(~
scanf
(
"%d"
,&t))
43
{
44
head=
new
node;
45
len=0;
46
for
(
int
i=0;i<t;i++)
47
{
48
scanf
(
"%d%d"
,&m,&n);
49
Insert(m,n);
50
}
51
print();
52
}
53
return
0;
54
}
0 0
- 师--链表的结点插入
- 师--链表的结点插入
- 师--链表的结点插入
- 师--链表的结点插入
- 师--链表的结点插入
- 师--链表的结点插入
- 师--链表的结点插入
- 师--链表的结点插入
- 师--链表的结点插入
- 师--链表的结点插入
- 链表结点的插入
- 头结点链表的三种插入结点方式
- sdut oj2874 师--链表的结点插入
- 双向链表结点的插入
- 双向链表插入结点的理解。
- 链表C 链表的结点插入
- 《剑指offer》链表的结点的插入删除
- 关于链表的新建,删除结点,插入结点的代码
- UVa 10905
- CGImageRef像素位图参数说明
- Maven生命周期详解
- Redis+MySQL冷热数据交换
- C# FtpHelper实现ftp服务器文件读写操作
- 师--链表的结点插入
- 使用Gilde加载图片时裁剪大小异常
- JSON与泛型的结合(大幅度减小工作量)-巧用工具类
- 内部类
- 解决ajax的status=0问题:submit和button冲突
- STM32 内部flash的读写程序
- Multilayer Perceptron(MLP)
- [BZOJ Contest-2017省队十连测推广赛1·T2][BZOJ4766][完全二分图的生成树个数]文艺计算姬
- 如何让某软件永不联网?