首页 > 其他 > 详细

vector基本用法

时间:2020-05-08 10:53:25      阅读:51      评论:0      收藏:0      [点我收藏+]

Vector作为STL容器中的一员,使用频率非常高,因此对其基本用法和实用技巧进行记录,便于后期查询使用。

基本用法 

#include <iostream>
#include <vector>

using namespace std;

/*
    empty()            判断vector是否为空
    size()            获取vector中元素的个数
    clear()            清空vector
    erase()            删除vector中指定内容的元素
    push_back()        尾部插入元素(效率高)
    pop_back()        尾部删除元素(效率高)
    insert()        指定位置插入元素(效率低)
    sort()            排序
    reverse            反转
*/
 
int main()
{
    vector<int> arr;
    
    arr.push_back(6);
    arr.push_back(7);
    arr.push_back(5);
    arr.push_back(3);
    arr.push_back(4);
    
    arr.pop_back(); // 删除4
    
    sort(arr.begin(), arr.end()); // 排序
    
    reverse(arr.begin(), arr.end()); // 反转
    
    // 7 6 5 3
    for(int i = 0; i < arr.size(); i++)
    {
        cout << arr[i] << ends;
    }
    cout<<endl;
    
    cout << arr.size() << endl; // 获取元素个数
    
    arr.clear(); // 清空
    
    cout << arr.size() << endl; // 获取元素个数

    return 0;
}    

迭代删除(有坑) 

#include <iostream>
#include <vector>

using namespace std;
 
int main()
{
    vector<int> arr;
    
    arr.push_back(6);
    arr.push_back(7);
    arr.push_back(8);
    arr.push_back(8);
    arr.push_back(9);
    arr.push_back(10);

    // erase接口返回的iterator指向下一个原生,此时不需要再次移动
    for(vector<int>::iterator it = arr.begin(); it != arr.end(); )
    {
        if(*it == 8)
        {
            it = arr.erase(it); // 等效于arr.erase(it);
        }
        else
        {
            ++it;
        }
    }
    
    for(int i = 0; i < arr.size(); i++)
    {
        cout << arr[i] << ends;
    }
    cout<<endl;

    return 0;
}    

查找(安全)

#include <iostream>
#include <vector>

using namespace std;
 
int main()
{
    vector<int> arr;
    
    arr.push_back(6);
    arr.push_back(7);
    arr.push_back(8);
    arr.push_back(8);
    arr.push_back(9);
    arr.push_back(10);

    vector<int>::iterator it = find(arr.begin(), arr.end(), 8);
    if(it != arr.end())
    {
        cout << "find" << endl;
    }
    else
    {
        cout << "Not find" << endl;
    }

    return 0;
}    

 

vector基本用法

原文:https://www.cnblogs.com/chusiyong/p/12849041.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!