向量和列表的区别 我正在学习C++语言,我试图找出向量和列表之间的区别。 我正在使用VisualStudio工具进行编码。有人能解释一下有什么区别吗

向量和列表的区别 我正在学习C++语言,我试图找出向量和列表之间的区别。 我正在使用VisualStudio工具进行编码。有人能解释一下有什么区别吗,c++,visual-studio-2012,visual-c++,C++,Visual Studio 2012,Visual C++,Avector是一个可调整大小的数组。它的元素彼此相邻地存储在一个连续的内存块中,以便可以快速计算每个元素的位置;这就是所谓的随机访问。从中间插入和删除元素需要移动所有后面的元素,因此速度可能相当慢 列表是一个链接列表。元素分散在内存中,每个元素都有指向下一个和上一个元素的指针。您只能通过跟随指针链来找到元素,这可能相当慢;这称为顺序存取。但是,只需修改几个指针就可以插入和删除元素,因此速度非常快。以下是一些STL容器及其有效功能: vector:动态数组--在随机访问时有效,并在末尾添加/删

A
vector
是一个可调整大小的数组。它的元素彼此相邻地存储在一个连续的内存块中,以便可以快速计算每个元素的位置;这就是所谓的随机访问。从中间插入和删除元素需要移动所有后面的元素,因此速度可能相当慢


列表
是一个链接列表。元素分散在内存中,每个元素都有指向下一个和上一个元素的指针。您只能通过跟随指针链来找到元素,这可能相当慢;这称为顺序存取。但是,只需修改几个指针就可以插入和删除元素,因此速度非常快。

以下是一些STL容器及其有效功能:

  • vector
    :动态数组--在随机访问时有效,并在末尾添加/删除
  • 列表
    :双链接列表--在向前/向后遍历和插入任何位置时都非常有效
  • forward\u list
    :单链接列表--在向前遍历和插入任何位置时都非常有效
  • deque
    :双端队列——动态数组,也允许在开始时高效地添加/删除
  • 数组
    :静态数组——编译时固定的大小

我想你可以在谷歌上找到很多详细的解释