列表构造函数

列表构造函数

💡 原文英文,约600词,阅读约需2分钟。
📝

内容提要

本文介绍了C++中列表(list)与动态数组(vector)的区别,包括声明、初始化、设置值、打印元素及从其他列表、数组或向量复制元素的方法,同时总结了列表的构造函数和时间复杂度。

🎯

关键要点

  • C++中的列表是双向链表的库,动态数组是动态数组的库。
  • 声明列表的方式为:list<type> myList;。
  • 初始化列表的时间复杂度为O(1)。
  • 可以通过list<type> myList(N)来初始化一个包含N个元素的列表。
  • 设置列表的值可以使用list<type> myList(N, P)来创建一个包含N个元素且值为P的列表。
  • 打印列表中的所有值可以使用迭代器或范围基于的for循环。
  • 可以通过复制另一个列表来创建新列表,例如list myList(list2)。
  • 可以使用数组或向量的元素来初始化列表,例如list myList(A, A + N)或list myList(v.begin(), v.end())。
  • 列表构造函数的总结:
  • list myList - 构造一个包含0个元素的列表,时间复杂度O(1)。
  • list myList(N) - 构造一个包含N个元素的列表,值为垃圾,时间复杂度O(N)。
  • list myList(N, P) - 构造一个包含N个元素且值为P的列表,时间复杂度O(N)。
  • list myList(list2) - 通过复制另一个列表list2构造新列表,时间复杂度O(N)。
  • list myList(A, A + N) - 通过复制数组A的所有元素构造新列表,时间复杂度O(N)。
  • list myList(v.begin(), v.end()) - 通过复制向量v的所有元素构造新列表,时间复杂度O(N)。
➡️

继续阅读