📜  在 C++ 中使用向量的程序(1)

📅  最后修改于: 2023-12-03 15:07:37.721000             🧑  作者: Mango

在 C++ 中使用向量的程序

向量(vector)是C++标准模板库(STL)中的一种容器,可以用于存储同一种类型的元素。与数组不同,向量的大小可以动态改变,能够自动地调整内存使用情况。

定义和声明向量

在使用向量之前,我们需要引入头文件 vector

#include <vector>

定义向量的语法如下:

vector<数据类型> 名称;

例如,定义一个存储整数的向量,可以这样写:

vector<int> myVec;
向向量中添加元素

向向量中添加元素的方法有两种:push_back()insert()

push_back()

使用 push_back() 向向量末尾添加元素:

vector<int> myVec;
myVec.push_back(1);
myVec.push_back(2);
myVec.push_back(3);
insert()

使用 insert() 向向量中插入元素:

vector<int> myVec;
myVec.insert(myVec.begin(), 1); // 插入到开头
myVec.insert(myVec.end(), 2); // 插入到末尾
myVec.insert(myVec.begin() + 2, 3); // 插入到第三个元素的位置
访问向量元素

向量中的元素可以使用 [] 运算符或 at() 函数来访问:

vector<int> myVec = {1, 2, 3, 4, 5};
cout << myVec[0] << endl; // 输出第一个元素(1)
cout << myVec.at(2) << endl; // 输出第三个元素(3)
遍历向量

向量可以使用迭代器来遍历:

vector<int> myVec = {1, 2, 3, 4, 5};
for (auto it = myVec.begin(); it != myVec.end(); ++it) {
    cout << *it << endl;
}

使用 range-based for 循环遍历:

vector<int> myVec = {1, 2, 3, 4, 5};
for (auto i : myVec) {
    cout << i << endl;
}
其他常用函数

添加元素的函数:push_back(), insert()

删除元素的函数:pop_back(), erase()

获取元素个数:size()

判断是否为空:empty()

获取头部和尾部元素:front(), back()

清空向量:clear()

示例程序
#include <iostream>
#include <vector>

using namespace std;

int main() {
    vector<int> myVec = {1, 2, 3, 4, 5};

    // 添加元素
    myVec.push_back(6);
    myVec.insert(myVec.begin(), 0);

    // 访问元素
    cout << myVec[0] << endl; // 输出 0
    cout << myVec.at(2) << endl; // 输出 2

    // 遍历向量
    for (auto i : myVec) {
        cout << i << endl; // 依次输出 0, 1, 2, ..., 6
    }

    // 其他常用函数
    myVec.pop_back();
    myVec.erase(myVec.begin() + 2);
    cout << myVec.size() << endl; // 输出 5
    cout << myVec.empty() << endl; // 输出 0(不为空)
    cout << myVec.front() << endl; // 输出 0
    cout << myVec.back() << endl; // 输出 5
    myVec.clear();
    cout << myVec.size() << endl; // 输出 0

    return 0;
}