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

 /*cb08a_c++_顺序容器的操作1
容器定义的类型别名
begin(闭区间)和end(开区间)成员
{first,last)左闭右开,左包括,右不包括,end()指向最后一个的下一个。 */ #include <iostream>
#include <vector>
#include <list>
#include <deque>
using namespace std; int main()
{
vector<int> a; list<int> b; //链表没有下表,不能用数组表示
deque<int> c; //error C2663: “std::vector<int,std::allocator<_Ty>>::push_back”: 2 个重载没有“this”指针的合法转换
//ca.push_back(11);//const vector不能直接放数据 a.push_back();
a.push_back();
a.push_back();
const vector<int> ca(a);//const可以通过非const vector传入数据,进行初始化。类似于:ca=a; b.push_back();
b.push_back();
b.push_back(); c.push_back();
c.push_back();
c.push_back();
//for(int i=0;i<a.size();++i)//不要使用,因为int类型不够大,可能vector数据会超出。 for (vector<int>::size_type i = ; i < a.size(); ++i)
cout << a[i] << endl;
////链表没有下表,不能用数组表示
/*for (list<int>::size_type k = 0; k < b.size(); ++k)
cout << b[k] << endl;*/ for (deque<int>::size_type j = ; j < c.size(); ++j)
cout << c[j] << endl; //链表只能用迭代器
vector<int>::iterator firsta = a.begin();
vector<int>::iterator lasta = a.end();//end()指向最后一个的下一个 vector<int>::const_iterator cfirsta = ca.begin();//const_iterator,const迭代器,操作const vector容器
vector<int>::const_iterator clasta = ca.end(); while (firsta != lasta)
{
cout <<"迭代器循环: "<< *firsta << endl;
++firsta;
}
vector<int>::reverse_iterator rfirsta = a.rbegin();//rbegin()逆序迭代器
vector<int>::reverse_iterator rlasta = a.rend();//rend()逆序迭代器 vector<int>::size_type a1;
vector<int>::iterator a2;
vector<int>::const_iterator a3;
vector<int>::reverse_iterator a4;//逆序迭代器
vector<int>::const_reverse_iterator a5;
vector<int>::difference_type a6;//保存容器之间距离 //泛型程序设计
//vector<int>::value_type a7;
//vector<int>::reference a8;//引用
//vector<int>::const_reference a9; list<int>::size_type b1;
list<int>::iterator b2;
list<int>::const_iterator b3;
list<int>::reverse_iterator b4;
list<int>::const_reverse_iterator b5;
list<int>::difference_type b6;
/*list<int>::value_type b7;
list<int>::reference b8;
list<int>::const_reference b9;*/ deque<int>::size_type c1;
deque<int>::iterator c2;
deque<int>::const_iterator c3;
deque<int>::reverse_iterator c4;
deque<int>::const_reverse_iterator c5;
deque<int>::difference_type c6;
/*deque<int>::value_type c7;
deque<int>::reference c8;
deque<int>::const_reference c9;*/ cout << "hello..." << endl;
return ;
}

cb08a_c++_顺序容器的操作1的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

  7. ca12a_c++顺序容器的操作5_访问容器中的数据元素

    ca12a_c++顺序容器的操作5_访问容器中的数据元素访问元素:c.back()..显示最后一个数据c.front() ..显示第一个数据c[n],n就是下标,适合vector与dequec.at( ...

  8. cb06a_c++_顺序容器的定义

    /*cb06a_c++_顺序容器的定义顺序容器:vector,数组,尾端操作数据,快速随机访问list 链表,快速插入数据deque数组,双端-首尾操作数据,方便两端的数据访问 顺序容器适配器:sta ...

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

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

随机推荐

  1. vim的基础命令

    :q 退出 :wq 保存并退出 :q! 不保存并退出 :w 保存 :w! 强行保存

  2. ECharts使用教程

    引入 ECharts ECharts 3 开始不再强制使用 AMD 的方式按需引入,代码里也不再内置 AMD 加载器.因此引入方式简单了很多,只需要像普通的 JavaScript 库一样用 scrip ...

  3. SpringBoot外部化配置使用Plus版

    本文如有任何纰漏.错误,请不吝指正! PS: 之前写过一篇关于SpringBoo中使用配置文件的一些姿势,不过嘛,有句话(我)说的好:曾见小桥流水,未睹观音坐莲!所以再写一篇增强版,以便记录. 序言 ...

  4. [UWP]使用离散式关键帧播放动画

    这篇文章介绍离散式关键帧,并使用它做些有趣的动画. 1. 什么是离散式关键帧 以DoubleAnimationUsingKeyFrames为例,它支持四种Double的关键帧,其中EasingDoub ...

  5. Redis学习笔记(3)

    一.Redis的事务(transaction) 1. 事务概念 本质:本质是一组命令的集合,所有的命令按照顺序一次性.串行化地执行,不允许其他命令的加入.Redis通过MULTI.EXEC.WATCH ...

  6. git简单的使用步骤

    Git介绍 Git是分布式版本控制系统 集中式VS分布式,SVN VS Git 1)SVN和Git主要的区别在于历史版本维护的位置 2)这两个工具主要的区别在于历史版本维护的位置Git本地仓库包含代码 ...

  7. [PHP学习教程 - 数字]001.数字补0(Num padding)

    引言:在日常工作中,经常要用到数字前后补0的操作,如:日期格式yyyy-MM-dd等等. 在php中有多种前后填充函数——今天,我们就介绍常用的两种,实现数字补零: str_pad sprintf 大 ...

  8. eclipse与idea部署项目的区别

    Eclipse会将web项目部署到 Tomcat 的安装目录下的webapps文件夹下IDEA会在操作系统盘的用户目录下新建一个目录,这个目录一般是你的IDEA的版本号目录1.启动项目 2. 根据地址 ...

  9. js异步原理

    javascript引擎 javascript引擎执行时单线程的,如果有一个任务被阻塞,整个浏览器就会处于假死状态 那么遇到这种情况,又在单线程的情况下,不能像java之类的语言创建多几个线程来处理, ...

  10. Chisel3 - Tutorial - ShiftRegister

    https://mp.weixin.qq.com/s/LKiXUgSnt3DzgFLa9zLCmQ   简单的寄存器在时钟的驱动下,逐个往下传值.   参考链接: https://github.com ...