#include<iostream>
using namespace std;
#include "vector" //数组元素的 添加和删除
void main31()
{
//获取元素的大小
vector<int> v1;
cout <<"length: "<<v1.size()<<endl;
v1.push_back();
v1.push_back();
v1.push_back();
cout <<"length: "<<v1.size()<<endl; cout<<"头部元素"<<v1.front()<<endl; //修改头部 元素的值
//函数返回值当左值
v1.front() = ;
v1.back() = ; //获取头部和尾部元素
while (v1.size()>)
{
cout<<"尾部元素"<<v1.back();//获取尾部的元素
v1.pop_back();//删除尾部元素
}
}
//vector的初始化
void main32()
{
//1.
vector<int> v1;
v1.push_back();
v1.push_back();
v1.push_back();
v1.push_back(); //2.
vector<int> v2 = v1;//对象初始化 //3.
vector<int> v3(v1.begin(),v1.begin()+); } void printV(vector<int> &v)
{
for (int i =;i<v.size();i++)
{
cout<<v[i]<<endl;
}
} //vector的遍历:通过数组的方式
void main33()
{
vector<int> v1();//提前把内存准备好
for (int i = ;i<;i++)
{
v1[i] = i + ;
} for (int i = ;i<;i++)
{
printf("%d\n",v1[i]);
}
printV(v1);
} //push back的强化
void main34()
{
vector<int> v1();//提前把内存准备好
v1.push_back();//从数组的尾部插入元素
v1.push_back();
cout<<"size:"<<v1.size()<<endl;
printV(v1);
} //迭代器
void main35()
{
vector<int> v1();
for (int i =;i<;i++)
{
v1[i] = i+;
}
//正序遍历
for (vector<int>::iterator it = v1.begin();it != v1.end();it++)
{
cout<<*it<<endl;
} //逆序遍历
for (vector<int>::reverse_iterator rit = v1.rbegin();rit != v1.rend();rit++)
{
cout<<*rit<<endl;
} } //vector 删除
void main36()
{
vector<int> v1();
for (int i =;i<;i++)
{
v1[i] = i+;
}
//区间删除
v1.erase(v1.begin(),v1.begin()+); //指定位置删除
v1.erase(v1.begin());//在头部删除一个元素
printV(v1); cout<<endl;
//根据元素的值
v1[] = ;
v1[] = ;
printV(v1); for (vector<int>::iterator it = v1.begin();it != v1.end();)
{
if (*it == )
{
//it = v1.erase(it) 删除后,要接回、新的位置
it = v1.erase(it);//当删除迭代器所指向的元素的时候,erase会让it自动下移
}
else
{
it++;
}
}
printV(v1); cout<<endl; //插入元素
v1.insert(v1.begin(),);
v1.insert(v1.end(),);
printV(v1);
} void main()
{
//main31();
//main33();
//main35();
main36();
cout<<"hello..."<<endl;
return;
}

C++STL学习笔记_(1)vector知识的更多相关文章

  1. C++STL学习笔记_(1)string知识

    /*============================================ string是STL的字符串类型,通常用来表示字符串 = ======================== ...

  2. Effective STL 学习笔记: 多用 vector & string

    Effective STL 学习笔记: 多用 vector & string 如果可能的话, 尽量避免自己去写动态分配的数组,转而使用 vector 和 string . 原书作者唯一想到的一 ...

  3. C++STL学习笔记_(1)deque双端数组知识

    #include<iostream> using namespace std; #include "deque" #include "algorithm&qu ...

  4. C++STL学习笔记_(2)deque双端数组知识

    #include<iostream> using namespace std; #include "deque" #include "algorithm&qu ...

  5. C++STL学习笔记_(3)stack

    10.2.4stack容器 Stack简介 ²  stack是堆栈容器,是一种"先进后出"的容器. ²  stack是简单地装饰deque容器而成为另外的一种容器. ²  #inc ...

  6. C++STL学习笔记_(4)queue

    10.2.5Queue容器 Queue简介 ²  queue是队列容器,是一种"先进先出"的容器. ²  queue是简单地装饰deque容器而成为另外的一种容器. ²  #inc ...

  7. Effective STL 学习笔记 Item 34: 了解哪些算法希望输入有序数据

    Effective STL 学习笔记 Item 34: 了解哪些算法希望输入有序数据 */--> div.org-src-container { font-size: 85%; font-fam ...

  8. Effective STL 学习笔记 32 ~ 33

    Effective STL 学习笔记 32 ~ 33 */--> div.org-src-container { font-size: 85%; font-family: monospace; ...

  9. Effective STL 学习笔记 31:排序算法

    Effective STL 学习笔记 31:排序算法 */--> div.org-src-container { font-size: 85%; font-family: monospace; ...

随机推荐

  1. adb 命令集合

    1. adb shell 2. adb version 查看 adb 安装版本 3. adb start-server 启动服务 4. adb kill-server 杀死服务 5. adb get- ...

  2. 7、IMS - DNS & ENUM

    1.相关基础SBC:http://blog.sina.com.cn/s/blog_7a6f76080100vp9r.html 2.ENUM/DNS查询过程:http://blog.sina.com.c ...

  3. qt 环境下mapx组件打包后编译产生c2248和c2512错误

    C:\Qt\Qt5.6.0\5.6\msvc2013\include\QtCore\qmetatype.h:760: error: C2248: “MapSpace::IRowCursor::IRow ...

  4. Spring 之注解事务 @Transactional

    众所周知的ACID属性:  原子性(atomicity).一致性(consistency).隔离性(isolation)以及持久性(durability).我们无法控制一致性.原子性以及持久性,但可以 ...

  5. js 实现动态的图片时钟

    效果如下图 附件有图片   http://files.cnblogs.com/files/biyongyao/时钟.rar 源代码 <!DOCTYPE html> <html> ...

  6. 【SSM 6】Spring+SpringMVC+Mybatis框架搭建步骤

    一.整体概览 首先看maven工程的创建 二.各层的文件配置 2.1,SSM父工程 <span style="font-family:KaiTi_GB2312;font-size:18 ...

  7. Spring 事务处理

    Spring 默认执行事务回滚:当开启事务的类中对数据库的操作的异常没有任何处理时,才会主动触发事务回滚. 而很多时候业务都需要对抛出的异常进行处理,所以如果try,catch了操作数据库的方法,事务 ...

  8. uva1588kickdown

    题目要求简述:给定长度分别为n1,n2(n1,n2<=100)且每列的高度只为1或者2的长条.需要将他们放入一个高度为3的容器,问能够容纳它们的最短容器长度. 思路就是固定一个字符串a,字符串b ...

  9. 15.linux 中无法输入指令

    怎么可以回到倒数第五行的输入状态啊……

  10. asp.net mvc在windows server 2003上部署

    1.要安装mvc3.mvc4.mvc5的插件 2.部署要创建应用程序池,并指定 3.权限指定everyone