C++ Vector用法

vector 是向量类型,它可以容纳许多类型的数据,称其为容器。vector 是C++ STL的一个重要容器,使用它时需要包含头文件:#include<vector>

#include<vector>
#include<iostream>
#include<algorithm>

using namespace std;
int main()
{
    // vector<int> a(10); // 初始化1:定义了10个整型元素的向量 
    // vector<int> a(10, 2); //初始化2: 全部初始值为2 
    //int arr[9] = {1,2,3,4,5,6,7,8,9};
    int arr[9] = {1,2,4,9,7,8,3,6};
    vector<int> a(arr, arr+9); // 初始化3: 从数组中获得初值(常) 
    //vector<int> b(a); // 初始化4:用a向量来创建b向量,整体复制性赋值
    vector<int> b(a.begin(), a.begin()+3); // 初始化5:用a向量来创建b向量,b部分复制:从0到3 
    b.assign(a.begin()+3, a.begin()+6); //复制操作 
    cout << a.size() << endl; // 输出vector中元素个数
    cout << a.capacity() << endl;
    cout << "----------a:" << endl;
    for(int i = 0;i < a.size(); i++)
    {
        cout << i << ":  " << a[i] << endl;
    }
    cout << "---------b:" << endl;
    for(int i = 0; i < b.size(); i++)
    {
        cout << i << ":  " << b[i] << endl;
    }
    for(int i = 0; i < b.size(); i++)
    {
        cout << i << ":  " << b[i] << endl;
    }
    cout << "----------- 操作:" << endl; 
    cout << a.back() << endl; // 返回a的最后一个元素a[a.size()-1] 
    cout << a.front() << endl; // 返回a的第一个元素a[0] 
    // a.clear(); // 清空
    cout << a.empty() << endl; // 判断是否为空
    // a.pop_back(); //删除a向量的最后一个元素
    // a.push_back(5); // 在a的最后一个向量最后插入一个元素,其值为5
    // a.erase(a.begin()+1,a.begin()+3); //删除a[1],a[2]
    // a.insert(a.begin()+1, 5); //在a[1]处插入5
    // a.insert(a.begin()+1,3,5); //在a[1]处插入3个5
    // a.insert(a.begin()+1,arr+3,arr+6); //在a[1]处插入数组arr的第三个到第五个数 
    // a.resize(5); //调整容量
    // a.swap(b); //a跟b这两个vector整体交换
    cout << "---------------算法:" << endl;
    sort(a.begin(), a.end());
    reverse(a.begin(), a.end());
    vector<int>::iterator it = find(a.begin(), a.end(), 10);
    cout << "------------操作后的a: " << endl;
    for(int i = 0; i < a.size(); i++)
    {
        cout << i << ":  " << a[i] << endl;
    }
    // for(vector<int>::iterator it = a.begin() it < a.end(); it++)
    //     cout << *it << endl;
    // cout << "------------操作后的b:" << endl;
    // for(int i = 0; i < b.size(); i++)
    //{
    //  cout << i << ":  "  << b[i] << endl;
    //}
    return 0;
} 
    
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容