浅谈C++容器(一):三种序列容器vector、list、deque的区别

本文介绍了C++中的三种序列容器:vector、list和deque,详细阐述它们的特点和用途。vector适用于随机访问和尾部操作,list擅长中间插入和删除,deque则适合首尾操作。在选择容器时,应根据具体需求如元素访问方式和增删位置来决定。
摘要由CSDN通过智能技术生成

在C++实际开发过程中,经常需要实现数据的添加、修改、插入、读取等功能,若程序员自己编写一个数据结构来实现,不仅会增加代码的工作量,还会出现许多需要解决的问题。而容器是一种封装了数据结构的类,可实现各种功能,帮助程序员更好地开发。
常用的标准容器可分为两大类,序列容器和关联容器。本文先浅谈序列容器的分类、特点及使用情况,希望帮助开发者选择最合适的容器。

一、分类

序列容器可分为三种,vector向量容器、list列表容器、deque双端队列容器,如下:

vector向量容器:可看作一个动态数组,连续存储结构;
list链表容器:链表结构,在内存中非连续存储;
deque双端队列容器:队列结构,在内存中不一定连续存储;

二、vector向量容器

1、相当于一个动态数组,可实现容器长度的变化,在内存上占有一段连续的地址空间;
2、擅长随机访问以及在容器尾部添加或删除元素,效率较高;
3、在容器头部及中间位置插入或删除元素,需要移动该位置以后的所有元素,效率较低;

vector容器的常见用法,用一段程序来展示:

#include<iostream>
using namespace std;
#include<vector>

int main()
{
   
	vector<int> v1{
    11, 12, 13, 14, 15 }; //初始化容器
	//1、迭代器法访问容器的所有元素
	//v1.begin()、v1.end()分别为容器第一个元素和最后一个元素的迭代器
	for (vector<int>::iterator it = v1.begin(); it != v1.end(); it++)  
	{
   
		cout << *it << " "; //it是循环迭代器,实际上是一个指针,指向容器中的某一个元素的地址,*it就可以得到元素的值
	}
	cout << endl;

    v1.pop_back();  //移除容器中的最后一个元素
	v1.push_back(20);  //容器尾部添加元素

	//2、for循环法访问容器的所有元素
	for 
  • 11
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值