STL链表之删除指定元素(list)
2014-06-19 17:09
288 查看
链表-删除指定元素
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
对于一个给定的线性表,要求删除线性表内的大于等于 min 且小于等于 max 的数,并输出删除后的线性表要求:必须使用链表做,否则不计成绩!
输入
输入的第一行为一个正整数 T,表示有 T 组测试数据。每组测试数据的第一行为三个整数n、min、max,表示有 n 个数据,删除的范围为[min, max].第二行为 n 个整数代表初始的 n 个数据。
输出
输出删除数据后的线性表,如果线性表为空则输出-1示例输入
2 3 1 2 1 2 3 5 2 1 1 1 1 1 1
示例输出
31 1 1 1 1
#include <iostream> //STL之链表基本操作(删除指定元素) #include <cstring> #include <list> #include <algorithm> using namespace std; int main() { int j,x,t,n,min,max; list <int>::iterator i; cin>>t; while(t--) { list <int> node; cin>>n>>min>>max; for(j=0;j<n;j++) { cin>>x; node.push_back(x); } for(i=node.begin();i!=node.end();) //遍历链表 { if(*i>=min&&*i<=max) node.erase(i++); i++是重点,与平时理解正好相反,前面已经说过不再赘述 else i++; } if(!node.empty()) { i=node.begin(); for(j=0;j<node.size();j++) if(j!=node.size()-1) cout<<*i++<<" "; else cout<<*i++<<endl; } else cout<<"-1"<<endl; } return 0; }
相关文章推荐
- Remove Linked List Elements 删除链表中指定元素
- STL双向链表之删除重复元素(list)
- 删除List中指定元素
- 在双向链表中删除指定元素
- [STL] 从map中删除指定value的元素
- Leetcode Remove Linked List Elements 删除链表中的元素
- SDUT_OJ_1464-链表-删除指定元素
- List 删除指定元素
- 删除有序链表的重复元素 Remove Duplicates from Sorted List
- 数据结构之 线性表---单链表操作A (删除链表中的指定元素)
- STL:map的使用:删除map中指定值为value的所有元素
- 对C++ STL,list元素的循环删除操作 //断链,出错地方
- STL删除list元素
- List删除指定的元素
- 从STL中的list删除元素
- stl的vector,map,list删除元素
- STL中list,遍历删除元素注意事项
- STL:map的使用:删除map中指定值为value的所有元素
- LeetCode Remove Linked List Elements 删除链表元素
- [LeetCode]Merge Two Sorted Lists & Remove Duplicates from Sorted List 两个有序链表合并为一个&删除链表重复元素