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-在顺序容器中添加元素_插入数据的更多相关文章

  1. python数据库操作常用功能使用详解(创建表/插入数据/获取数据)

    实例1.取得MYSQL版本 复制代码 代码如下: # -*- coding: UTF-8 -*-#安装MYSQL DB for pythonimport MySQLdb as mdbcon = Non ...

  2. C++ 基于STL的演讲比赛流程管理系统(sort算法+小型算法(accumulate)+内建函数对象+string字符串拼接+字符串截取+多个容器基础操作+与用户交互+文件的读写+保存+重建+整体文件数据的清空)

    1 /* 2 比赛规则: 3 学校举行一演讲比赛,共12个人参加,比赛两轮,第一轮为淘汰赛 第二轮为决赛 4 每名选手都有对应的编号:如10001~10012 5 比赛方式:分组比赛 每组6人 6 第 ...

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

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

  4. C++ 容器(一):顺序容器简介

    C++提供了使用抽象进行高效编程的方式,标准库中定义了许多容器类以及一系列泛型函数,使程序员可以更加简洁.抽象和有效地编写程序,其中包括:顺序容器,关联容器和泛型算法.本文将简介顺序容器(vector ...

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

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

  6. ca13a_c++_顺序容器的操作6删除元素

    /*ca13a_c++_顺序容器的操作6删除元素c.erase(p) //删除迭代器p指向的位置c.erase(b,e) //删除b to e之间的数据,迭代器b包括,e不包括c.clear()//删 ...

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

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

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

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

  9. C++ Primer : 第九章 : 顺序容器的操作以及迭代器失效问题

    顺序容器的添加.访问.删除操作以及forward_list的特殊操作,还有迭代器失效问题. 一.向容器添加元素 // array不支持这些操作 // forward_list有自己撰于的版本的inse ...

随机推荐

  1. NO.4 CCS运行第一个demo(本地)

    前面介绍了基本的SDK内容,这次主要是本地实际应用CCS实现程序的运行. 首先我们进入CCS,我简单介绍下界面: 界面很简洁,通俗易懂(怎么跟STM32IDE这么像) 由于我们还不会写程序,我们先导入 ...

  2. Thunar左侧边栏不完全显示PLACES的解决

    场景 我的笔记本装上系统时用的英文,安装中文之后,发现文件管理器的默认的几个文件夹 Desktop.Music.Videos.Downloads等都变成了中文,由于是新安装的系统,就重新生成 loca ...

  3. 01Java核心-冷门知识001-包

    1)导入静态方法和静态域 import 可以加上static关键字,导入静态的方法和静态域. 例如: package com.gail.test; import static java.lang.Sy ...

  4. Rocket - devices - TLZero

    https://mp.weixin.qq.com/s/JHjUZncEcoZpRxIS1ECV5g 简单介绍TLZero的实现. 1. /dev/null /dev/null最主要的特点是写入的数据被 ...

  5. Rocket - debug - TLDebugModuleOuter

    https://mp.weixin.qq.com/s/9nMo6IYmDCz7S-ALFx824g 简单介绍TLDebugModuleOuter的实现. 1. DebugModuleAccessTyp ...

  6. Rocket - jtag - JtagShifter

    https://mp.weixin.qq.com/s/pHtrlmSCPqzlDdfj3qkNPQ 简单介绍JtagShifter的实现. 1. 简单介绍 实现移位寄存器链,包含并行Capture和U ...

  7. Java并发编程 (六) 线程安全策略

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.不可变对象-1 有一种安全的发布对象,即不可变对象. 1.不可变对象需要满足的条件 ① 对象创建以后 ...

  8. Java实现 蓝桥杯 算法训练 最大的算式

    算法训练 最大的算式 时间限制:1.0s 内存限制:256.0MB 问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大.因为 ...

  9. Java实现 LeetCode 421 数组中两个数的最大异或值

    421. 数组中两个数的最大异或值 给定一个非空数组,数组中元素为 a0, a1, a2, - , an-1,其中 0 ≤ ai < 231 . 找到 ai 和aj 最大的异或 (XOR) 运算 ...

  10. Java实现 LeetCode 85 最大矩形

    85. 最大矩形 给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积. 示例: 输入: [ ["1","0","1 ...