【第三期】C.LesteM的恶意———链表
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
Background
其实我根本不想出指针题,但是分题目时我不在,他们就把这个让我出了
总之,不高兴的LesteM决定出一道也许和指针一点关系没有的题目,不再收敛自己,狠狠的出难题。
LesteM的大手伸到哪里,哪里的难题就泛滥成灾。
Berliner:孩子们这一点也不好玩,大概得有200行代码ps:没错!于是友好的XwX决定削弱这题,现在只要100行代码吧大概
Description
实现一个链表(连续输入),包括增加、删除、查找和修改等操作。链表中的每个节点都包含一个整数值和一个指向下一个节点的指针。
你可以用以下函数的形式实现各种效果(只供参考)
void insert(int data)
:在链表的头部插入一个节点,节点的值为 data
void delete(int data)
:删除链表中第一个值为 data 的节点。如果链表中没有值为 data 的节点,则不进行任何操作
void modify(int old_data, int new_data)
:将链表中第一个值为 old_data 的节点的值修改为 new_data。如果链表中没有值为 old_data 的节点,则不进行任
何操作
Format
Input
第一行以一串以空格隔开的数字为输入的起点,将其组成链表的形式。
之后有任意行。
其中第一个数字决定操作(1代表插入,2代表删除,3代表修改,0代表输入结束)之后的数字是需要处理的数
例:
1 7 代表在链表的头部插入一个节点,节点的值为 7
2 6 代表删除链表中第一个值为 6 的节点
3 6 7 代表将链表中第一个值为 6 的节点的值修改为 7 以0 结束,输出链表
Output
按顺序输出链表的各个节点的值
Samples
6 5 4 3 2 1
1 7
2 6
3 4 8
0
7 5 8 3 2 1
Limitation
测试点保证链表长度
链表中单个数据小于等于maxint
1s, 1024KiB for each test case.