使用C ++ STL中的不同方式创建和初始化向量

向量是什么?

向量是C ++ STL中的一个容器,用于表示数组,并且其大小可以更改。

阅读更多:C ++ STL矢量

以下是使用它们的不同方法,我们可以在C ++ STL中创建和初始化向量,

1)创建一个空向量并通过推入值进行初始化

//创建一个空向量并通过推入值进行初始化
#include <iostream>
#include <vector>
using namespace std;

int main(){
    //向量声明
    vector<int> v1;

    //推动元素
    v1.push_back(10);
    v1.push_back(20);
    v1.push_back(30);
    v1.push_back(40);
    v1.push_back(50);

    //打印矢量元素
    //创建迭代器以访问元素
    vector<int>::iterator it;
    cout << "Vector v1 elements are: ";
    for (it = v1.begin(); it != v1.end(); it++)
        cout << *it << " ";
    cout << endl;

    return 0;
}

输出结果

Vector v1 elements are: 10 20 30 40 50

2)通过指定大小创建向量,并使用默认值初始化元素

//创建向量
//使用默认值初始化元素
#include <iostream>
#include <vector>
using namespace std;

int main(){
    //向量声明
    vector<int> v1(5, 10);

    //打印矢量元素
    //创建迭代器以访问元素
    vector<int>::iterator it;
    cout << "Vector v1 elements are: ";
    for (it = v1.begin(); it != v1.end(); it++)
        cout << *it << " ";
    cout << endl;

    return 0;
}

输出结果

Vector v1 elements are: 10 10 10 10 10

3)创建向量并将其初始化为数组

//创建一个向量并将其初始化为数组
#include <iostream>
#include <vector>
using namespace std;

int main(){
    //向量声明
    vector<int> v1{ 10, 20, 30, 40, 50 };

    //打印矢量元素
    //创建迭代器以访问元素
    vector<int>::iterator it;
    cout << "Vector v1 elements are: ";
    for (it = v1.begin(); it != v1.end(); it++)
        cout << *it << " ";
    cout << endl;

    return 0;
}

输出结果

Vector v1 elements are: 10 20 30 40 50

4)创建向量并从数组初始化

//创建一个向量并从数组中初始化它
#include <iostream>
#include <vector>
using namespace std;

int main(){
    //数组
    int arr[] = { 10, 20, 30, 40, 50 };

    //向量声明 from the array
    //数组 size
    int size = sizeof(arr) / sizeof(arr[0]);
    vector<int> v1(arr, arr + size);

    //打印矢量元素
    //创建迭代器以访问元素
    vector<int>::iterator it;
    cout << "Vector v1 elements are: ";
    for (it = v1.begin(); it != v1.end(); it++)
        cout << *it << " ";
    cout << endl;

    return 0;
}

输出结果

Vector v1 elements are: 10 20 30 40 50

5)创建一个向量,然后从另一个向量初始化它

//创建一个向量,然后从另一个向量初始化
#include <iostream>
#include <vector>
using namespace std;

int main(){
    //向量
    vector<int> v1{ 10, 20, 30, 40, 50 };

    //向量声明 from the vector
    vector<int> v2(v1.begin(), v1.end());

    //打印矢量元素
    //创建迭代器以访问元素
    vector<int>::iterator it;
    cout << "Vector v2 elements are: ";
    for (it = v2.begin(); it != v2.end(); it++)
        cout << *it << " ";
    cout << endl;

    return 0;
}

输出结果

Vector v2 elements are: 10 20 30 40 50