#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. (推荐)WPF动画教程

    无意间发现博主的文章,记录推荐一下. http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505346.html http://www.cnbl ...

  2. 飞思卡尔imx6开发板Linux下GPIO驱动

    控制GPIO_1_28的输出: #define MY_BOMB_GPIO       IMX_GPIO_NR(1, 28) 配置为输出方式: gpio_direction_output (MY_BOM ...

  3. log level

    ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF

  4. JavaScript笔记:函数

    函数是定义一次但却可以调用或执行任意多次的代码块. 一.函数定义 javascript中的函数使用function关键字来定义,常用的函数定义分为三种形式: 声明式函数定义 function sum( ...

  5. Ninject之旅之九:Ninject上下文绑定(附程序下载)

    摘要 既然在插件模型里,每一个服务类型可以被映射到多个实现,绑定方法不用决定要返回哪个实现.因为kernel应该返回所有的实现.然而,上下文绑定是多个绑定场景,在这个场景里,kernel需要根据给定的 ...

  6. C# 时间函数相减

    1:第一种方式: "; "; DateTime firstDateTemp = DateTime.ParseExact(firsttime, "yyyyMMddHHmms ...

  7. 常用到的git,mvn,postgres,vim命令总结

    mvn: 打包: mvn package 如果想在打包的时候跳过测试: mvn package -Dmaven.test.skip=true 使用的junit测试框架, 测试: mvn test 如果 ...

  8. 读《JavaScript DOM编程艺术》

    国庆假期花了三四天看了这本书,书很薄,因为是入门书,干货也不是很多. 4. childNodes nodeType nodeValue firstChild lastChild childNodes返 ...

  9. Winform 窗体单例

    有窗体Form1和窗体Form2,单击Form1上按钮,只弹出一个Form2. Form2里自定义一个方法,里面判断是否弹出Form2,没有时弹出Form2. public static Form2 ...

  10. oracle日期函数转换真麻烦。。。

    --Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual  --2011 ...