【问题描述】
输入n(n>1)个正整数,每次将输入的整数插入到链表头部。-1表示输入结束。再输入一个正整数,在链表中查找该数据并删除对应的节点。要求输出进行删除操作后链表中所有节点的值。
【输入形式】
输入以空格分隔的n个整数,以-1结束输入,再输入一个要删除的整数。
【输出形式】
从链表第一个元素开始,输出链表中所有的节点值。以空格分隔。
【样例输入】
2 4 6 7 8 4 -1
2
【样例输出】
4 8 7 6 4
【样例说明】
输入以空格分隔的n个整数2 4 6 7 8 4, 以-1结束输入
然后输入2,删除2之后输出剩余整数。
【评分标准】
满分20分,每个测试点4分,提交程序名为list.c。
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<istream>
#include<iomanip>
#include<ostream>
#include<list>
#include<vector>
#include<set>
#include<map>
#include<fstream>
#include<stack>
#include<ctime>
#include<deque>
#include<queue>
#pragma warning (disable:4996)
using namespace std;
int main()
{
int x=0; list<int>l;
cin >> x;
while (x != -1){
l.insert(l.begin(),x);
cin >> x;
}
cin >> x;
l.remove(x);
for (list<int>::iterator it = l.begin(); it != l.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}