bycj.net
当前位置:首页 >> C++STL中list和vECtor的区别 >>

C++STL中list和vECtor的区别

C++ STL 提供了3个序列容器 :vector, deque, listvector 中的元素是顺序存放的,所以随机访问很快,但是要插入和删除,这个时间复杂度就很高了,vector初始化时有一个capacity,如果元素个数超出capacity,那vector就会重新分配一个新的空

C++头文件之C、传统C++#include//设定插入点#include//字符处理#include//定义错误码#include//浮点数处理#include //文件输入/输出#include //参数化输入/输出#include //数据流输入/输出#include//定义各种数据类型最值常量#include//定义本地化

vector可以理解为普通的数组,list是数据结构中的链表,deque是数据结构中的队列,map是关联数组 vector和map的区别,vector的下标是vector::size_type类型,相当于int map的下标可以是任意类型

在STL中基本容器有: string、vector、list、deque、set、map set 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问 set:集合, 用来判断某一个元素是不是在一个组里面,使用的比较少 map:映射,相当于字典,把一

LIST - 是链表,Vector可以认为是连续的数组,两者在存储上就又不同,LIST是随机存储通过指针相互连接的,而VECTOR是连续存储的

用基本的数据结构理论来说:vector就是顺序表相当于是个数组,其中的元素在内存中连续排列;list就是链表,元素单独存储,元素节点中包含指向下一个节点的指针,其中的全部元素在内存中不连续存储,靠节点间的指针再逻辑上连接起来.

Vector:C++容器模板中的大哥大,就像是一个加强版的队列,之所以这样说,是因为它不但有队列形式的索引,还能动态的添加扩充.特点:把被包含的对象以数组的形式存储,支持索引形式的访问(这种访问速度奇快无比).但由此也产生了

vector与list区别vector为存储的对象分配一块连续的地址空间,因此对vector中的元素随机访问效率很高.在vecotor中插入或者删除某个元素,需要将现有元素进行复制,移动.如果vector中存储的对象很大,或者构造函数复杂,则在对现有元素

vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.initializer_list是C++标准程序库中的一个头文件,定义了C++标准中一个非常轻量级的表示初始化器列表的类模板initializer_list及有关函数.与vector不同的是,initializer_list对象中的元素永远是常量值,我们无法改变initializer_list对象中元素的值.

vector适用:对象数量变化少,简单对象,随机访问元素频繁 list适用:对象数量变化大,对象复杂,插入和删除频繁 最大的区别是,list是双向的,而vector是单向的.list和vector的区别会分开的说明1、vector为存储的对象分配一块连续的地址空

lpfk.net | zdly.net | qyhf.net | fpbl.net | eonnetwork.net | 网站首页 | 网站地图
All rights reserved Powered by www.bycj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com