c++ stl容器vector删除(erase),遍历等基本用法介绍及头文件

来源:互联网 发布:数组和矩阵的区别 编辑:程序博客网 时间:2024/06/07 20:40

 Vectors 包含着一系列连续存储的元素,其行为和数组类似。访问Vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是线性时间复杂度。

Vectors 包含着一系列连续存储的元素,其行为和数组类似。访问Vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是线性时间复杂度。

c++ stl容器vector的头文件为:  #include <vector>

c++ stl容器vector的成员函数介绍:

Constructors构造函数Operators对vector进行赋值或比较vector::assign()对Vector中的元素赋值vector::at()返回指定位置的元素vector::back()返回最末一个元素vector::begin()返回第一个元素的迭代器vector::capacity()返回vector所能容纳的元素数量(在不重新分配内存的情况下)vector::clear()清空所有元素vector::empty()判断Vector是否为空(返回true时为空)vector::end()返回最末元素的迭代器(译注:实指向最末元素的下一个位置)vector::erase()删除指定元素vector::front()返回第一个元素vector::get_allocator()返回vector的内存分配器vector::insert()插入元素到Vector中vector::max_size()返回Vector所能容纳元素的最大数量(上限)vector::pop_back()移除最后一个元素vector::push_back()在Vector最后添加一个元素vector::rbegin()返回Vector尾部的逆迭代器vector::rend()返回Vector起始的逆迭代器vector::reserve()设置Vector最小的元素容纳数量vector::resize()改变Vector元素数量的大小vector::size()返回Vector元素数量的大小vector::swap()交换两个Vector

c++ stl容器vector基本操作:

(1)包含头文件  

#include<vector>
(2)创建vector对象: 
vector<int> vec;
(3)尾部插入数字:
vec.push_back(a);
(4)使用下标访问元素: 
cout<<vec[0]<<endl; //记住下标是从0开始的。
(5)使用迭代器遍历访问元素.
vector<int>::iterator it;for(it=vec.begin();it!=vec.end();it++)    cout<<*it<<endl;
(6)插入元素:    
vec.insert(vec.begin()+i,a); //在第i+1个元素前面插入a;
(7)删除元素:

vec.erase(vec.begin()+2); //删除第3个元素vec.erase(vec.begin()+i,vec.end()+j); //删除区间[i,j-1];区间从0开始

(8)向量大小:

vec.size();

(9)清空: 

vec.clear();

c++ stl容器vector用法详细代码

#include<stdio.h>#include<algorithm>#include<vector>#include<iostream>using namespace std;typedef struct rect{    int id;    int length;    int width;  //对于向量元素是结构体的,可在结构体内部定义比较函数,下面按照id,length,width升序排序。  bool operator< (const rect &a)  const    {        if(id!=a.id)            return id<a.id;        else        {            if(length!=a.length)                return length<a.length;            else                return width<a.width;        }    }}Rect;int main(){    vector<Rect> vec;    Rect rect;    rect.id=1;    rect.length=2;    rect.width=3;    vec.push_back(rect);    vector<Rect>::iterator it=vec.begin();    cout<<(*it).id<<' '<<(*it).length<<' '<<(*it).width<<endl;    return 0;}
本类别最新文章推荐:
linux c malloc函数定义及用法详解
 
Linux下C语言strstr()查找子字符串位置函数详细介绍(strstr原型、实现及用法)
 
tcmalloc内存泄露优化c++开源库下载,安装及使用介绍
 
C++ Iterator迭代器介绍及Iterator迭代器用法代码举例
 
c++ stl容器vector删除(erase),遍历等基本用法介绍及头文件
 
c++ stl栈容器stack的pop(),push()等用法介绍及头文件
 
c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
 
C++准标准库boost库中文介绍
 
C++ stl队列Queue用法介绍:删除,插入等操作代码举例
 
C++ STL库中priority_queue介绍,成员函数说明及priority_queue具体用法举例

0 0
原创粉丝点击