cb09a_c++_顺序容器的操作2-在顺序容器中添加元素_插入数据
cb09a_c++_顺序容器的操作2
在顺序容器中添加元素
vector不能向前插入数据,list可以用insert
c.push_back(t);
c.push_front(t);
c.insert(p,t);在迭代器p,插入t
c.insert(p,n,t);在迭代器p,插入n个t
c.insert(p,b,e);把迭代器b,e之间的数据,插入到迭代器p指向的位置。
容器元素都是副本
添加元素可能会使迭代器失效
避免存储end操作返回的迭代器
welcome to discuss
txwtech@163.com
//vector<int>::iterator last = ivec2a.end();//不要这样写,不要提前保存。
直接在某个地方用:ivec2a.end();
while(first!=ivec2a.end())//这样既就ok咯。
whiel(first!=last)//这样不好。不建议
while(it!=)
string sarray[4] = {"qusai","simba","frollo","scar"};//字符串数组
const char *str[]= { "qusai","simba","frollo","scar" };//字符串数组
/*cb09a_c++_顺序容器的操作2
在顺序容器中添加元素
vector不能向前插入数据,list可以用insert
c.push_back(t);
c.push_front(t);
c.insert(p,t);在迭代器p,插入t
c.insert(p,n,t);在迭代器p,插入n个t
c.insert(p,b,e);把迭代器b,e之间的数据,插入到迭代器p指向的位置。
容器元素都是副本
添加元素可能会使迭代器失效
避免存储end操作返回的迭代器 welcome to discuss
txwtech@163.com //vector<int>::iterator last = ivec2a.end();//不要这样写,不要提前保存。
直接在某个地方用:ivec2a.end();
while(first!=ivec2a.end())//这样既就ok咯。
whiel(first!=last)//这样不好。不建议
while(it!=)
string sarray[4] = {"qusai","simba","frollo","scar"};//字符串数组
const char *str[]= { "qusai","simba","frollo","scar" };//字符串数组
*/ #include <iostream>
#include <vector>
#include <list>
#include <deque>
#include <string> using namespace std;
int main()
{
vector<string> svec;
list<string> slist;
deque<string> sdeq; svec.push_back("Bill");
svec.push_back("Tom");
svec.push_back("Mary"); slist.push_back("Bill");
slist.push_back("Tom");
slist.push_back("Mary"); sdeq.push_back("Bill");
sdeq.push_back("Tom");
sdeq.push_back("Mary"); slist.push_front("Primer");
slist.push_front("C++"); sdeq.push_front("Primer");
sdeq.push_front("C++"); for (list<string>::iterator iter = slist.begin();
iter != slist.end(); ++iter)
cout << "slist data: " << *iter << " " << endl;;
cout << endl; list<string>::iterator it = slist.begin();
cout << *it << endl;
++it;
cout << *it << endl; //slist插入数据,迭代器所指向的数据的前面
slist.insert(it,"hello");
for (list<string>::iterator iter = slist.begin();
iter != slist.end(); ++iter)
cout << "slist data: " << *iter << " " << endl;;
cout << endl; it = slist.begin();
++it;
++it;
++it;
cout << *it << endl;//显示bill slist.insert(it, , "hi");//bill前面插入10个hi. string sarray[] = {"qusai","simba","frollo","scar"};//字符串数组
cout << sarray[] << endl;
const char *str[]= { "qusai","simba","frollo","scar" };//字符串数组
cout << str[] << endl; it = slist.begin();
cout << *it << endl;//显示c++
++it;
cout << *it << endl;//显示hello slist.insert(it, sarray + , sarray + );//把"simba","frollo","scar"插入到hello前面 cout << "显示插入后的数据: " << endl;
for (list<string>::iterator iter = slist.begin();
iter != slist.end(); ++iter)
cout << "slist data: " << *iter << " " << endl;;
cout << endl; //vector<int> ivec2a;
list<int> ivec2a;
ivec2a.push_back();
ivec2a.push_back();
ivec2a.push_back(); list<int>::iterator first = ivec2a.begin();
//vector<int>::iterator last = ivec2a.end();//不能这样写,不能提前保存。
//while (first != last)//不能这样写,不能提前保存。因为end在变化
while(first!=ivec2a.end())//这样既就ok咯。
{
ivec2a.insert(first,);
++first;
}
for(list<int>::iterator i=ivec2a.begin();
i!=ivec2a.end();++i)
{
cout << *i << endl;
} return ;
}
cb09a_c++_顺序容器的操作2-在顺序容器中添加元素_插入数据的更多相关文章
- python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
实例1.取得MYSQL版本 复制代码 代码如下: # -*- coding: UTF-8 -*-#安装MYSQL DB for pythonimport MySQLdb as mdbcon = Non ...
- C++ 基于STL的演讲比赛流程管理系统(sort算法+小型算法(accumulate)+内建函数对象+string字符串拼接+字符串截取+多个容器基础操作+与用户交互+文件的读写+保存+重建+整体文件数据的清空)
1 /* 2 比赛规则: 3 学校举行一演讲比赛,共12个人参加,比赛两轮,第一轮为淘汰赛 第二轮为决赛 4 每名选手都有对应的编号:如10001~10012 5 比赛方式:分组比赛 每组6人 6 第 ...
- cb10a_c++_顺序容器的操作3关系运算符
cb10a_c++_cb09a_c++_顺序容器的操作3 2 顺序容器的操作3 3 关系运算符 4 所有的容器类型都可以使用 5 比较的容器必须具有相同的容器类型,double不能与int作比较 6 ...
- C++ 容器(一):顺序容器简介
C++提供了使用抽象进行高效编程的方式,标准库中定义了许多容器类以及一系列泛型函数,使程序员可以更加简洁.抽象和有效地编写程序,其中包括:顺序容器,关联容器和泛型算法.本文将简介顺序容器(vector ...
- cb14a_c++_顺序容器的操作7_赋值与交换(swap)_vector转list
cb14a_c++_顺序容器的操作7_赋值与交换(swap) vector数据赋值给list, slist.assign(svec.begin(), svec.end());//这样可以转 svec- ...
- ca13a_c++_顺序容器的操作6删除元素
/*ca13a_c++_顺序容器的操作6删除元素c.erase(p) //删除迭代器p指向的位置c.erase(b,e) //删除b to e之间的数据,迭代器b包括,e不包括c.clear()//删 ...
- cb11a_c++_顺序容器的操作4_容器大小操作_resize-max_size
cb11a_c++_顺序容器的操作4 2 容器大小的操作 3 c.size() 容器当前的个数 4 c.max_size(),容器最大存储量 5 c.empty() 是否为空 6 c.resize(n ...
- cb08a_c++_顺序容器的操作1
cb08a_c++_顺序容器的操作1容器定义的类型别名begin(闭区间)和end(开区间)成员{first,last)左闭右开,左包括,右不包括,end()指向最后一个的下一个. /*cb08a_c ...
- C++ Primer : 第九章 : 顺序容器的操作以及迭代器失效问题
顺序容器的添加.访问.删除操作以及forward_list的特殊操作,还有迭代器失效问题. 一.向容器添加元素 // array不支持这些操作 // forward_list有自己撰于的版本的inse ...
随机推荐
- pdf去水印,pdf解密,pdf转MarkDown
pdf去水印,在转Markdown文件 首先我们要有版权的敬畏之心,这里只是给大家介绍一下思路,请合理使用! 1.pdf去水印 下载:悦书PDF阅读器,注意免费免费!!!!(后期就不知道了,目前是免费 ...
- 什么,容器太多操作不过来?我选择Docker Compose梭哈
接上一篇:面试官:你说你精通 Docker,那你来详细说说 Dockerfile 吧 一.容器之间通信 1.单向通信 1.1.什么意思 mysql和tomcat是两个独立的容器,但是tomcat需要和 ...
- Win10下安装Linux子系统-Ubuntu
工作以来一直DotNet系偏C/S, 接触Web开发的时间也不长, 现在主要偏向Web全栈方向, 一直对Linux系统心生向往, 夜深了娃睡了, 打开老旧的笔记本来折腾一下. 准备工作 控制面板 &g ...
- S32K142学习记录_SDK手动导入
这几天和一位工程师讨论ADC+PDB学到了很多,当然很多的时候都是我在听, 毕竟新手,顺便其中提出自己的疑问,讨论会让你学到很多 有空会将讨论整理出来 因为demo板还没有到,只能看着大佬的程序对着手 ...
- Intellij IDEA 2020.1.1 破解 永久有效 亲测100%成功
申明:本教程 WebStorm 破解补丁.激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除. 前言 作为一个有强迫症的码农,怎么能忍受自己的开发工具跟不上潮流呢?笔者以前一直用 ...
- [COCOS2DX-LUA]0-003.根据COCOS2DX热更新
一.最近有需求就是要基于COCOS2DX-LUA进行游戏的增量更新,找了资料,发现了COCOS2DX有自带一个热更新的类,就是AssetsManager,但是该接口对于我来说有以下的缺陷 1.版本号在 ...
- [Axure教程]0001.新手入门基础
Axure RP是一个专业的快速原型设计工具.Axure(发音:Ack-sure),代表美国Axure公司:RP则是Rapid Prototyping(快速原型)的缩写.Axure RP已被一些大公司 ...
- python pexpect总结
基本使用流程 pexpect 的使用说来说去,就是围绕3个关键命令做操作: 首先用 spawn 来执行一个程序 然后用 expect 来等待指定的关键字,这个关键字是被执行的程序打印到标准输出上面的 ...
- OI 做题的常见错误
会引起 Compile Error 的错误 由于这类错误过于简单,相信是个正常人都会修,故略写. int main() 写为 int mian() . 写完 struct 或 class 忘记写分号. ...
- 跨域解决方案 - 跨域资源共享cors
目录 1. cors 介绍 2. 原理 3. cors 解决跨域 4. 自定义HTTP 头部字段解决跨域 5. 代码演示 5. 参考链接 1. cors 介绍 cors 说的是一个机制,其实相当于一个 ...