• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
mankun
博客园    首页    新随笔    联系   管理    订阅  订阅

C++ 容器之 Vector

什么是 Vector?

向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。
跟任意其它类型容器一样,它能够存放各种类型的对象。
可以简单的认为,向量是一个能够存放任意类型的动态数组。

容器特性

  • 顺序序列
    顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。

  • 动态数组
    支持对序列中的任意元素进行快速直接访问,甚至可以通过指针进行该操作。提供了在序列末尾相对快速地添加/删除元素的操作。

  • 能够感知内存分配器的(Allocator-aware)
    容器使用一个内存分配器对象来动态地处理它的存储需求。

基本函数

  • 构造函数
    • vector():构造一个空vector
    • vector(int nSize):构造一个vector,元素个数为nSize
    • vector(int nSize, const t& t):构造一个vector,元素个数为nSize,且值全为t
    • vectore(const vector&):复制构造函数
    • vector(begin, end):复制[begin, end)区间的数组元素到vector中

函数使用

实例 1 - push_back pop_back size clear

#include <iostream>
#include <vector>	/* 导入向量头文件 */
using namespace std;

int main()
{
	// 创建一个int类型的向量存储容器
	vector<int> nums;

	cout << "----------push_back----------" << endl;
	for (int i = 0; i < 10; i++) {
		// push_back(elem) 向数组最后添加元素
		nums.push_back(i + 1);
		cout << nums[i] << " ";
	}
	cout << endl << endl;

	cout << "----------pop_back----------" << endl;
	// pop_back() 去除数组最后一个元素
	for (int i = 0; i < 5; i++) {
		nums.pop_back();
	}

	// size() 容器中实际元素个数
	for (int i = 0; i < nums.size(); i++) {
		cout << nums[i] << " ";
	}
	cout << endl << endl;

	cout << "----------clear----------" << endl;
	// clear() 清除容器中的所有数据
	nums.clear();
	cout << "nums.size() = " << nums.size() << endl;

	return 0;
}

实例 2 -

posted @ 2023-11-07 22:56  小小船帆  阅读(26)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3