/*ca13a_c++_顺序容器的操作6删除元素
c.erase(p) //删除迭代器p指向的位置
c.erase(b,e) //删除b to e之间的数据,迭代器b包括,e不包括
c.clear()//删除所有
c.pop_back() //删除最后一个
c.pop_front() //删除最前的一个
find查找算法
list<string>::iterator iter1= find(slist.begin(), slist.end(), s);
注意:c.pop_front()只适用于list和deque容器
vector没有pop_front.
txwtech

 /*ca13a_c++_顺序容器的的操作6删除元素
c.erase(p) //删除迭代器p指向的位置
c.erase(b,e) //删除b to e之间的数据,迭代器b包括,e不包括
c.clear()//删除所有
c.pop_back() //删除最后一个
c.pop_front() //删除最前的一个
find查找算法
list<string>::iterator iter1= find(slist.begin(), slist.end(), s);
注意:c.pop_front()只适用于list和deque容器
vector没有pop_front.
txwtech
*/
#include <iostream>
#include <list>
#include <deque>
#include <vector>
#include <string>
#include <algorithm> using namespace std; int main()
{
list<string> slist;
slist.push_back("apple");
slist.push_back("bill");
slist.push_back("cat");
slist.push_back("dog");
slist.push_back("egg");
slist.push_back("fish");
slist.push_back("girl"); slist.pop_front();
slist.pop_back(); string s("dog");//s="dog"
string s2("fish");
list<string>::iterator iter1= find(slist.begin(), slist.end(), s);
list<string>::iterator iter2 = find(slist.begin(), slist.end(), s2); if (iter1 != slist.end() && iter2 != slist.end())
//slist.erase(iter1);//删除查找到的内容
{
slist.erase(iter1, iter2);//删除iter1 到iter2,不包括iter2
cout << "找到了dog与fish,dog删除掉了,不包括fish" << endl;
} else
cout << "没有找到" << endl; slist.clear();//清空数据
if (!slist.empty())//如果非空,就显示
{
for (list<string>::iterator iter = slist.begin();
iter != slist.end(); ++iter)
cout << *iter << endl;
}
else
cout << "目前容器是空的。" << endl; return ;
}

ca13a_c++_顺序容器的操作6删除元素的更多相关文章

  1. cb14a_c++_顺序容器的操作7_赋值与交换(swap)_vector转list

    cb14a_c++_顺序容器的操作7_赋值与交换(swap) vector数据赋值给list, slist.assign(svec.begin(), svec.end());//这样可以转 svec- ...

  2. cb11a_c++_顺序容器的操作4_容器大小操作_resize-max_size

    cb11a_c++_顺序容器的操作4 2 容器大小的操作 3 c.size() 容器当前的个数 4 c.max_size(),容器最大存储量 5 c.empty() 是否为空 6 c.resize(n ...

  3. cb10a_c++_顺序容器的操作3关系运算符

    cb10a_c++_cb09a_c++_顺序容器的操作3 2 顺序容器的操作3 3 关系运算符 4 所有的容器类型都可以使用 5 比较的容器必须具有相同的容器类型,double不能与int作比较 6 ...

  4. cb09a_c++_顺序容器的操作2-在顺序容器中添加元素_插入数据

    cb09a_c++_顺序容器的操作2在顺序容器中添加元素vector不能向前插入数据,list可以用insertc.push_back(t);c.push_front(t);c.insert(p,t) ...

  5. cb08a_c++_顺序容器的操作1

    cb08a_c++_顺序容器的操作1容器定义的类型别名begin(闭区间)和end(开区间)成员{first,last)左闭右开,左包括,右不包括,end()指向最后一个的下一个. /*cb08a_c ...

  6. cb16a_c++_顺序容器的选用_排序_二分查找

    /*cb16a_c++_顺序容器的选用_排序_二分查找顺序容器: 1.vector的优点与缺点 vector优点:排序利用下标,快速排序,做二分查找非常快 2.list的优点与缺点 list优点:插入 ...

  7. cb03a_c++_数据结构_顺序容器_STL_stack

    /*cb03a_c++_数据结构_顺序容器_STL_stack堆栈:LIFO--Last In First Out后进先出,用于系统程序设计自适应容器(容器适配器),不是独立的容器,是一个适配器栈适配 ...

  8. cb02a_c++_数据结构_顺序容器_STL_list类_双向链表

    /*cb02a_c++_数据结构_顺序容器_STL_list类_双向链表实例化std::list对象在list开头插入元素在list末尾插入元素在list中间插入元素,插入时间恒定,非常快.数组:中间 ...

  9. cb01a_c++_数据结构_顺序容器_STL_deque类

    /*cb01a_c++_数据结构_顺序容器_STL_deque类deque是一个动态数组,比vector更加灵活.两者都属于动态数组deque与vector非常类似deque可以在数组开头和末尾插入和 ...

随机推荐

  1. 工作中遇到的SQL

    1.根据a表中的字段col,修改b表中的col UPDATE a INNER JOIN b ON a.id = b.id SET b.col = xx WHERE a.col = xx 2.模糊查询 ...

  2. SSM基础pom和xml的整合配置

    <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit ...

  3. [Objective-C] 021 KVC、KVO

    写过C#的都知道C#通过反射读写一个对象的属性特别方便,可以利用字符串的方式去动态控制一个对象.其实在ObjC中,我们可以更高级点,根本不必进行任何操作就可以进行属性的动态读写,这种方式就是Key V ...

  4. Linux(二):VMware虚拟机中Ubuntu安装详细过程

    Linux(二):VMware虚拟机中Ubuntu安装详细过程 目录 1 准备 2 安装 2.1 虚拟机的建立 2.2 虚拟机安装Ubuntu系统 2.3 虚拟机设置 3 完成 1 准备 1.操作系统 ...

  5. C++ 海量代码 排查内存/GDI泄漏历程

    排查分两大部分: 1.代码静态分析,通过Code Review查找不合规范的代码点: 2.运行目标软件,结合内存监控工具,分析目标软件的代码,定位内存泄漏点. 目前能找到的代码静态分析软件:Cover ...

  6. 04 . Python入门之条件语句

    一. Python条件语句 Python条件语句是通过一条或多条语句执行结果(True或False)来决定执行的代码块. 可以通过下图简单了解语句的执行过程 Python程序语言指定任何非0和非空(n ...

  7. maven工程打胖瘦jar包插件

    <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <versio ...

  8. Java实现 LeetCode 648 单词替换(字典树)

    648. 单词替换 在英语中,我们有一个叫做 词根(root)的概念,它可以跟着其他一些词组成另一个较长的单词--我们称这个词为 继承词(successor).例如,词根an,跟随着单词 other( ...

  9. Java实现 LeetCode 367 有效的完全平方数

    367. 有效的完全平方数 给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False. 说明:不要使用任何内置的库函数,如 sqrt. 示例 1: ...

  10. Java实现 蓝桥杯VIP 算法训练 幂方分解

    问题描述 任何一个正整数都可以用2的幂次方表示.例如: 137=27+23+20 同时约定方次用括号来表示,即ab 可表示为a(b). 由此可知,137可表示为: 2(7)+2(3)+2(0) 进一步 ...