ca13a_c++_顺序容器的操作6删除元素
/*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
1 /*ca13a_c++_顺序容器的的操作6删除元素 2 c.erase(p) //删除迭代器p指向的位置 3 c.erase(b,e) //删除b to e之间的数据,迭代器b包括,e不包括 4 c.clear()//删除所有 5 c.pop_back() //删除最后一个 6 c.pop_front() //删除最前的一个 7 find查找算法 8 list<string>::iterator iter1= find(slist.begin(), slist.end(), s); 9 注意:c.pop_front()只适用于list和deque容器 10 vector没有pop_front. 11 txwtech 12 */ 13 #include <iostream> 14 #include <list> 15 #include <deque> 16 #include <vector> 17 #include <string> 18 #include <algorithm> 19 20 using namespace std; 21 22 int main() 23 { 24 list<string> slist; 25 slist.push_back("apple"); 26 slist.push_back("bill"); 27 slist.push_back("cat"); 28 slist.push_back("dog"); 29 slist.push_back("egg"); 30 slist.push_back("fish"); 31 slist.push_back("girl"); 32 33 slist.pop_front(); 34 slist.pop_back(); 35 36 string s("dog");//s="dog" 37 string s2("fish"); 38 list<string>::iterator iter1= find(slist.begin(), slist.end(), s); 39 list<string>::iterator iter2 = find(slist.begin(), slist.end(), s2); 40 41 if (iter1 != slist.end() && iter2 != slist.end()) 42 //slist.erase(iter1);//删除查找到的内容 43 { 44 slist.erase(iter1, iter2);//删除iter1 到iter2,不包括iter2 45 cout << "找到了dog与fish,dog删除掉了,不包括fish" << endl; 46 } 47 48 else 49 cout << "没有找到" << endl; 50 51 slist.clear();//清空数据 52 if (!slist.empty())//如果非空,就显示 53 { 54 for (list<string>::iterator iter = slist.begin(); 55 iter != slist.end(); ++iter) 56 cout << *iter << endl; 57 } 58 else 59 cout << "目前容器是空的。" << endl; 60 61 62 return 0; 63 }
欢迎讨论,相互学习。
cdtxw@foxmail.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)