向量和列表之间的区别

  • 向量和列表之间的区别已关闭评论
  • A+
所属分类:语言

矢量与列表

向量和列表经常使程序员感到困惑,向量和列表是C ++和Java中数组持有中使用的序列。这两个术语保存数组地址,但是保存数组的方法不同。
我们需要知道的基本知识是,数组是一个“列表”,其中包含部分或全部数据,即整数,浮点数或字符,并在方括号 “ []”中定义。
实际上,矢量和列表根据实例起作用。因此,让我们一一看一下两个术语。

向量
向量用于数组保持和元素访问。在这里,您可以使用“ []”运算符随机访问任何元素。因此,使用向量运算可以轻松浏览所有元素或一个特定元素。因此,如果您在结尾,开头或中间插入任何对象,则向量具有加号,因为您可以访问随机地址并在其中进行更改。但是,向量与列表对象相比要慢一些。向量被认为是同步对象,可以有效地进行随机访问,并且它们可以正确保存具有同步列表的数据。每当不需要在
中间(列表)或从前面插入或删除时,都会选择一个向量。
数组中元素的数量可能会发生巨大变化。
例如:
向量V;
V.insert(V.begin(),3); 
assert(V.size()== 1 && V.capacity()> = 1 && V [0] == 3);

列表
列表是“双向链接序列”,支持向前和向后遍历。在开始,结束和中间插入和删除所花费的时间是恒定的。链表之间的插入和拼接不会使元素中的任何迭代无效。仅删除会使迭代无效。它们不同步,因此不能随机访问。迭代的顺序可以根据用户进行更改,但不影响元素的任何更改。它们比矢量要快,并且非常适合在元素列表的开头,中间和结尾插入和删除。

示例:
#include 
//列出类模板定义
...。
int main()

int array [4] = {2,6,4,8}; 
std :: list <int>值; 
std :: list <int> otherValues;

摘要:
1.列表不同步,而矢量则不同步。
2.列表没有默认大小,而向量的默认大小为10。3 
.列表和向量都是动态增长的数组。
4.列表不是线程安全的,而向量是线程安全的。
5.由于列表仅适用于前后的添加和删除,因此列表速度更快,而
矢量占用更多的CPU。
6.向量的大小增加两倍,而列表减少到一半,即50%。

 

分博士