C++中vector的使用
来源:互联网 发布:mac查看文件属性 编辑:程序博客网 时间:2024/06/03 15:10
1、push_back函数
push_back将一个元素追加到一个vector的尾部。
伪代码如下:
vector<int> arr;for (int i=0;i<100;i++){arr.push_back(i);cout<<arr[i]<<endl;}
2、insert函数
insert允许在容器的任何位置插入0个或多个元素。
每个insert函数接受一个迭代器作为其第一个参数,指出在容器的什么位置放置新元素。
insert函数将元素插入到迭代器所指定的位置之前。c.insert(iter,”Hello!”); //将”Hello!”插入到迭代器所指位置之前
3、pop_back、erase、clear函数
c.pop_back()// 删除c中的尾元素。若c为空,则函数行为未定义。函数返回voidc.erase(p)// 删除迭代器p所指定的元素,返回一个被删除元素之后元素的迭代器,若p指向尾元素,则返回尾后迭代器。若p是尾后迭代器,则函数行为未定义。c.erase(b,e)//删除迭代器b和e范围内的元素,返回一个指向最后一个被删除元素之后元素的迭代器,若e本身就是尾后迭代器,则函数也返回尾后迭代器。c.clear()// 删除c中的所有元素
4、size函数
使用vector的成员函数size
伪代码如下:
vector<int> arr;for (int i=0;i<100;i++)arr.push_back(i);int num = arr.size();cout<<num<<endl;
5、数组初始化vector对象
C++11新标准引入了两个名为begin和end的函数。
begin函数返回指向数组首元素的指针,end函数返回指向数组元素下一位置的指针,这两个函数在iterator头文件中。
伪代码如下:
int arr[] = {11, 32, 41, 25, 67, 100, 88, 233}; // 指出拷贝区域范围 vector<int> iv(begin(arr), end(arr));也可以是数组的一部分,区间前闭后开//vector<int> iv(arr+2,arr+6); //基于范围的for循环,输出for (auto c : iv) cout << c << endl;
6、resize函数
用resize来增大或缩小容器,如果当前大小大于所要求的大小,容器后部的元素会被删除;如果当前大小小于所要求的大小,会将新元素添加到容器后部。
c.resize(n)// 调整c的大小为n个元素。若n<c.size(),则多出的元素会被丢弃。若必须添加新元素,对新元素进行值初始化。c.resize(n,t)// 调整c的大小为n个元素。任何新添加的元素都初始化为t。
7、capacity、 reserve函数
c.capacity()// 不重新分配内存的话,c可以保存多少元素 容器容量c.reserve(n)// 分配至少能容纳n个元素的内存空间 内存预分配,提高效率
8、swap 函数
void swap( vector &from );
swap()函数交换当前vector与vector from的元素,类型需要相同,但是元素个数可以不同。
元素本身并未交换,只是交换了两个容器的内部数据结构,所以操作会很快。
9.assign函数
assign函数允许我们从一个不同但相容的类型赋值,或者从容器的一个子序列赋值。
void assign( input_iterator start, input_iterator end ); void assign( size_type num, const TYPE &val );assign() 函数要么将区间[start, end)的元素赋到当前vector,或者赋num个值为val的元素到vector中.这个函数将会清除掉为vector赋值以前的内容.
10.back、 front、 at和[ ]函数
c.back()//返回c中尾元素的引用。若c为空,函数行为未定义c.front()//返回c中首元素的引用。若c为空,函数行为未定义c[n]//返回c中下标为n的元素的引用,n是一个无符号整数。若n>=c.size(),则函数行为未定义c.at(n)//返回下标为n的元素的引用。如果下标越界,则会抛出out_of_range异常
阅读全文
0 0
- C++STL中vector的使用
- C++----Vector的使用
- [C++] C++ Vector 的使用
- C++Vector的使用误区
- C++Vector的使用误区
- c++Vector的使用误区
- C++Vector的使用误区
- C++:使用vector的元素
- Vector 的使用(C++)
- j2me中vector的使用
- c++中vector的使用
- C++中vector的使用
- C++中vector的使用
- C++中vector的使用
- C++中vector的使用
- C++中vector的使用
- vector中函数的使用
- c++中Vector的使用
- Java线程之semaphore和Exchanger
- Java基础总结-数组
- 熵
- linux deepin下配置安装jdk
- robotframework使用之 下拉框的选择的几种用法
- C++中vector的使用
- CSAPP笔记--字、字节、字长、位
- java内部类
- Eclipse安装JD-Eclipse反编译插件
- 小小粉丝度度熊
- git pull命令更新本地项目的时候遇到“No remote repository specified……”的错误
- substr函数
- NXP/Freescale i.MX 计算机模块
- Google大数据三宝之GFS