c++STL vector的用法详解

简介: c++STL vector的用法详解

vector的用法:

#include :头文件

vector v:动态变化的一维不定长int数组

vector v[1010]:相当于第一维长1010,第二位长度动态变化的int数组


push_back 在数组的最后添加一个数据

#include<iostream>
#include<vector>
using namespace std;
int main()
{
  vector<int>v;
  v.push_back(1);
  v.push_back(3);
  v.push_back(5);
  for(int i=0;i<v.size();i++) cout<<v[i]<<' ';
  return 0;
}
//输出结果:1 3 5


pop_back 去掉数组的最后一个数据

#include<iostream>
#include<vector>
using namespace std;
int main()
{
  vector<int>v;
  v.push_back(1);
  v.push_back(3);
  v.push_back(5);
  v.pop_back();
  for(int i=0;i<v.size();i++) cout<<v[i]<<' ';
  return 0;
}
//输出结果为:1 3 


front函数返回vector的第一个元素,等价于*v.begin() 和 a[0]

#include<iostream>
#include<vector>
using namespace std;
int main()
{
  vector<int>v;
  v.push_back(1);
  v.push_back(3);
  v.push_back(5);
  cout<<v.front()<<' '<<*v.begin()<<' '<<v[0];
  return 0;
}
//输出结果为:1 1 1


back函数返回vector的最后一个元素等价于v[v.size() – 1]

#include<iostream>
#include<vector>
using namespace std;
int main()
{
  vector<int>v;
  v.push_back(1);
  v.push_back(3);
  v.push_back(5);
  cout<<v.back()<<' '<<v[v.size()-1];
  //5 5
  return 0;
}


用sort对vector进行排序

begin:得到数组头的指针

end:得到数组的最后一个单元+1的指针

#include<iostream>
#include<vector>
#include<algorithm> 
using namespace std;
int main()
{
  vector<int>v;
    for(int i=9;i>=0;i--) v.push_back(i);
    for(int i=0;i<v.size();i++) cout<<v[i]<<' ';
  //排序前:9 8 7 6 5 4 3 2 1 0
    sort(v.begin(),v.end());
    cout<<endl;
    for(int i=0;i<v.size();i++) cout<<v[i]<<' ';
    //排序后:0 1 2 3 4 5 6 7 8 9
  return 0;
}


erase 删除指针指向的数据项

#include<iostream>
#include<vector>
#include<algorithm> 
using namespace std;
int main()
{
  vector<int>v;
    for(int i=1;i<=10;i++) v.push_back(i);
    v.erase(v.begin()+3);//删除下标为3的数 
    for(int i=0;i<v.size();i++) cout<<v[i]<<' ';
    //1 2 3 5 6 7 8 9 10 
  return 0;
}


clear 清空当前的vector

#include<iostream>
#include<vector>
#include<algorithm> 
using namespace std;
int main()
{
  vector<int>v;
    for(int i=1;i<=10;i++) v.push_back(i);
    v.clear();
    for(int i=0;i<v.size();i++) cout<<v[i]<<' ';
    //输出为空 
  return 0;
}


auto遍历vector

#include<iostream>
#include<vector>
#include<algorithm> 
using namespace std;
int main()
{
  vector<int>v;
    for(int i=1;i<=10;i++) v.push_back(i);
    for(auto i:v) cout<<i<<' ';
    //1 2 3 4 5 6 7 8 9 10
  return 0;
}


目录
相关文章
|
15天前
|
存储 程序员 C++
C++常用基础知识—STL库(2)
C++常用基础知识—STL库(2)
54 5
|
13天前
|
存储 C++ 索引
【C++打怪之路Lv9】-- vector
【C++打怪之路Lv9】-- vector
15 1
|
15天前
|
存储 自然语言处理 程序员
C++常用基础知识—STL库(1)
C++常用基础知识—STL库(1)
37 1
|
24天前
|
编译器 C++
【C++】—— vector模拟实现
【C++】—— vector模拟实现
|
17天前
|
算法 数据处理 C++
c++ STL划分算法;partition()、partition_copy()、stable_partition()、partition_point()详解
这些算法是C++ STL中处理和组织数据的强大工具,能够高效地实现复杂的数据处理逻辑。理解它们的差异和应用场景,将有助于编写更加高效和清晰的C++代码。
14 0
|
19天前
|
算法 C++ 容器
C++之打造my vector篇(下)
C++之打造my vector篇(下)
25 0
|
19天前
|
存储 编译器 C++
C++之打造my vector篇(上)
C++之打造my vector篇(上)
25 0
|
14天前
|
存储 编译器 对象存储
【C++打怪之路Lv5】-- 类和对象(下)
【C++打怪之路Lv5】-- 类和对象(下)
19 4
|
14天前
|
编译器 C语言 C++
【C++打怪之路Lv4】-- 类和对象(中)
【C++打怪之路Lv4】-- 类和对象(中)
16 4
|
13天前
|
存储 安全 C++
【C++打怪之路Lv8】-- string类
【C++打怪之路Lv8】-- string类
14 1