C++STL学习笔记_(1)vector知识
#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知识的更多相关文章
- C++STL学习笔记_(1)string知识
/*============================================ string是STL的字符串类型,通常用来表示字符串 = ======================== ...
- Effective STL 学习笔记: 多用 vector & string
Effective STL 学习笔记: 多用 vector & string 如果可能的话, 尽量避免自己去写动态分配的数组,转而使用 vector 和 string . 原书作者唯一想到的一 ...
- C++STL学习笔记_(1)deque双端数组知识
#include<iostream> using namespace std; #include "deque" #include "algorithm&qu ...
- C++STL学习笔记_(2)deque双端数组知识
#include<iostream> using namespace std; #include "deque" #include "algorithm&qu ...
- C++STL学习笔记_(3)stack
10.2.4stack容器 Stack简介 ² stack是堆栈容器,是一种"先进后出"的容器. ² stack是简单地装饰deque容器而成为另外的一种容器. ² #inc ...
- C++STL学习笔记_(4)queue
10.2.5Queue容器 Queue简介 ² queue是队列容器,是一种"先进先出"的容器. ² queue是简单地装饰deque容器而成为另外的一种容器. ² #inc ...
- Effective STL 学习笔记 Item 34: 了解哪些算法希望输入有序数据
Effective STL 学习笔记 Item 34: 了解哪些算法希望输入有序数据 */--> div.org-src-container { font-size: 85%; font-fam ...
- Effective STL 学习笔记 32 ~ 33
Effective STL 学习笔记 32 ~ 33 */--> div.org-src-container { font-size: 85%; font-family: monospace; ...
- Effective STL 学习笔记 31:排序算法
Effective STL 学习笔记 31:排序算法 */--> div.org-src-container { font-size: 85%; font-family: monospace; ...
随机推荐
- C#获取网页内容的三种方式
C#通常有三种方法获取网页内容,使用WebClient.WebBrowser或者HttpWebRequest/HttpWebResponse... 方法一:使用WebClient (引用自:http: ...
- 通过Windows组策略限制证书组织流氓软件的安装运行
https://liwei2.com/2015/11/27/378.html关于如何提取证书,请参阅:https://www.zhihu.com/question/26917038http://www ...
- Android工作学习第5天之TabHost实现菜单栏底部显示
TabHost是一个装载选项卡窗口的容器,实现分模块显示的效果.像新浪微博客户端.微信客户端都是使用tabehost组件来开发的. TabHost的组成: |---TabWidget:实现标签栏,可供 ...
- 关于Python3爬虫抓取网页Unicode
import urllib.requestresponse = urllib.request.urlopen('http://www.baidu.com')html = response.read() ...
- 关于Delphi中多线程传递参数的简单问题
http://bbs.csdn.net/topics/390513469/ unit uThread; interface uses Classes; type Th = class(TThread) ...
- Linux Runlevel 启动 脚本
Linux 操作系统自从开始启动至启动完毕需要经历几个不同的阶段,这几个阶段就叫做 Runlevel,同样,当Linux操作系统关闭时也要经历另外几个不同的 Runlevel,下面详细介绍一下 Run ...
- Java设计模式--模板方法模式
定义: 模板模式是一种行为设计模式,使用了JAVA的继承机制,在抽象类中定义一个模板方法,该方法引用了若干个抽象方法(由子类实现)或具体方法(子类可以覆盖重写).它的实现思路是,创建一个桩方法,并且定 ...
- 8、SQL Server 表分区
什么是表分区?表分区其实就是将一个大表分成若干个小表.表分区可以从物理上将一个大表分成几个小表,但是逻辑上还是一个表.所以当执行插入.更新等操作的时候,不需要我们去判断应该插入或更新到哪个表中.只需要 ...
- 转载:reactor模式学习
最近又重新看了下netty背后的设计思想,接触到了reactor模型.发现以前虽然也看过reactor和proactor模型的介绍,但是真的是只了解了个皮毛. 再重新学习了一遍,有了更深刻的认识.但是 ...
- for+next()实现数组的遍历及while list each 的使用
//要求使用for循环语句来完成该数组的遍历//输出每一项的键名和对应值: $a = array( 'a' => 34, 5 => 51, ...