C++ remove remove_if erase
#include <iostream>
#include <algorithm>
#include <list>
#include <vector>
#include <functional>
using namespace std;
int main()
{
list<int> list1;
for (int k=0;k<10;k++)
{
list1.push_back(k);
list1.push_front(k);
}
list<int>::iterator list_iter1;
for (list_iter1 = list1.begin();list_iter1 != list1.end();++list_iter1)
{
cout << *list_iter1 << " ";
}
cout << endl;
cout << "list1 size: " << list1.size() << endl;
cout << "----------------------------------------" << endl;
list<int>::iterator list_iter_end;
list_iter_end = remove(list1.begin(),list1.end(),3);
for (list_iter1 = list1.begin(); list_iter1 != list1.end(); ++list_iter1)
{
cout << *list_iter1 << " ";
}
cout << endl;
cout << "list1 size: " << list1.size() << endl;
cout << "----------------------------------------" << endl;
for (list_iter1 = list1.begin(); list_iter1 != list_iter_end; ++list_iter1)
{
cout << *list_iter1 << " ";
}
cout << endl;
cout << "list1 size: " << list1.size() << endl;
cout << "----------------------------------------" << endl;
cout << "删除元素的个数:" <<distance(list_iter_end,list1.end())<< endl;
//真正的删除
list<int>::iterator list_iter3 = list1.begin();
++list_iter3;
++list_iter3;
++list_iter3;
list1.erase(list1.begin(), list_iter3);
for (list_iter1 = list1.begin(); list_iter1 != list1.end(); ++list_iter1)
{
cout << *list_iter1 << " ";
}
cout << endl;
cout << "list1 size: " << list1.size() << endl;
cout << "----------------------------------------" << endl;
vector<int> vec1;
for(int k=0;k<10;k++)
{
vec1.push_back(k);
}
for (int k =6; k<16; k++)
{
vec1.push_back(k);
}
vector<int>::iterator vec_iter1;
for (vec_iter1 = vec1.begin();vec_iter1 != vec1.end();++vec_iter1)
{
cout << *vec_iter1 << " ";
}
cout << endl;
cout << "vec1 size: " << vec1.size() << endl;
cout << "----------------------------------------" << endl;
vector<int>::iterator vec_iter2 = remove(vec1.begin(),vec1.end(),11);
vec1.erase(vec_iter2, vec1.end());
for (vec_iter1 = vec1.begin(); vec_iter1 != vec1.end(); ++vec_iter1)
{
cout << *vec_iter1 << " ";
}
cout << endl;
cout << "vec1 size: " << vec1.size() << endl;
cout << "----------------------------------------" << endl;
vector<int>::iterator vec_iter4 = remove_if(vec1.begin(),vec1.end(),bind2nd(less<int>(),6));
vec1.erase(vec_iter4,vec1.end());
for (vec_iter1 = vec1.begin(); vec_iter1 != vec1.end(); ++vec_iter1)
{
cout << *vec_iter1 << " ";
}
cout << endl;
cout << "vec1 size: " << vec1.size() << endl;
cout << "----------------------------------------" << endl;
system("pause");
return 0;
}
========================================
9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9
list1 size: 20
----------------------------------------
9 8 7 6 5 4 2 1 0 0 1 2 4 5 6 7 8 9 8 9
list1 size: 20
----------------------------------------
9 8 7 6 5 4 2 1 0 0 1 2 4 5 6 7 8 9
list1 size: 20
----------------------------------------
删除元素的个数:2
6 5 4 2 1 0 0 1 2 4 5 6 7 8 9 8 9
list1 size: 17
----------------------------------------
0 1 2 3 4 5 6 7 8 9 6 7 8 9 10 11 12 13 14 15
vec1 size: 20
----------------------------------------
0 1 2 3 4 5 6 7 8 9 6 7 8 9 10 12 13 14 15
vec1 size: 19
----------------------------------------
6 7 8 9 6 7 8 9 10 12 13 14 15
vec1 size: 13
----------------------------------------
请按任意键继续. . .
最新文章
- shell脚本重新挂载出问题的卷
- git简单命令
- 给button按钮加回车事件
- android target unknown and state offline解决办法
- 小技能——markdown
- js-DOM-页面元素的兼容性、常用事件、节点
- 浅谈URLEncoder编码算法
- Struts2--Helloworld
- 160926、Java-SpringMVC统一异常处理
- 025. asp.net中GridView的排序和过滤
- 一个基于WebGL的仿真3D水池有逼真的水波纹效果
- Swift 2.0学习
- simplexml 使用实例
- HDU 4548 美素数(打表)
- C# 实现Html转JSON
- 【原】Java学习笔记028 - 集合
- IOS开发之XCode学习013:步进器和分栏控件
- babel 插件编写
- 更新mysql驱动5.1-47 Generated keys not requested. You need to specify Statement.RETURN_GENERATED_KEY
- Windows 花屏问题
热门文章
- 编译和执行 C# 应用程序
- Flutter——Card组件
- 《基于Scyther的秘钥建立协议设计》-------摘抄整理
- 什么是领域模型(domain model)?贫血模型(anaemic domain model)和充血模型(rich domain model)有什么区别
- 12.自定义v-过渡动画前缀
- 深入理解Kubernetes资源限制:CPU
- Window脚本学习笔记之BAT简介
- 获取mysql一组数据中的第N大的值
- WCF之WebService
- The Preliminary Contest for ICPC Asia Xuzhou 2019 【 题目:so easy】{并查集维护一个数的下一个没有被删掉的数} 补题ING