当前位置:首页C++ > 正文

c++ vector 中的函数

作者:野牛程序员:2025-11-10 19:16:11C++阅读 2258
c++ vector 中的函数
/*
C++ vector 常用函数示例
头文件:<vector>
命名空间:std
*/
#include <iostream>
#include <vector>
using namespace std;
int main() {
    // 1) 创建 vector
    vector<int> v;              // 空 vector
    vector<int> v2(5, 10);      // 5 个元素,值为 10
    // 2) 添加元素
    v.push_back(1);
    v.push_back(2);
    v.push_back(3);
    // 3) 访问元素
    cout << "v[0] = " << v[0] << endl;         // 不检查越界
    cout << "v.at(1) = " << v.at(1) << endl;   // 检查越界
    // 4) 大小与容量
    cout << "size = " << v.size() << endl;
    cout << "capacity = " << v.capacity() << endl;
    cout << "empty = " << v.empty() << endl;
    // 5) 删除元素
    v.pop_back();    // 删除最后一个
    cout << "size after pop = " << v.size() << endl;
    // 6) 插入元素
    v.insert(v.begin(), 100);   // 在开头插入
    v.insert(v.begin()+1, 200); // 在第二个位置插入
    cout << "vector after insert: ";
    for (size_t i = 0; i < v.size(); i++) cout << v[i] << " ";
    cout << endl;
    // 7) 删除指定位置元素
    v.erase(v.begin());  // 删除第一个
    cout << "vector after erase: ";
    for (size_t i = 0; i < v.size(); i++) cout << v[i] << " ";
    cout << endl;
    // 8) 清空 vector
    v.clear();
    cout << "size after clear = " << v.size() << endl;
    // 9) 交换 vector
    vector<int> a(3, 5), b(2, 9);
    a.swap(b);
    cout << "a after swap: ";
    for (size_t i = 0; i < a.size(); i++) cout << a[i] << " ";
    cout << endl;
    // 10) 迭代器遍历
    vector<int> v3;
    v3.push_back(10);
    v3.push_back(20);
    v3.push_back(30);
    cout << "v3 using iterator: ";
    for (vector<int>::iterator it = v3.begin(); it != v3.end(); ++it) {
        cout << *it << " ";
    }
    cout << endl;
    return 0;
}
/*
常用 vector 函数总结:
1) push_back(x)       → 添加元素到末尾
2) pop_back()         → 删除末尾元素
3) insert(pos, x)     → 在指定位置插入
4) erase(pos)         → 删除指定位置元素
5) clear()            → 清空
6) size()             → 元素数量
7) capacity()         → 容量
8) empty()            → 是否为空
9) swap(other)        → 交换两个 vector
10) at(index)         → 安全访问元素(越界检查)
11) begin()/end()     → 获取迭代器遍历
*/


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • c++ vector 中的函数
  • 相关推荐

    最新推荐

    热门点击