[英]Constant Time Swap Logic for Vectors in C++ STL
为什么交换两个C ++ STL向量的内容所需的时间复杂度与相应向量的大小无关?
参考: http : //www.cplusplus.com/reference/vector/vector/swap/
典型的矢量实现存储:
swap()
只是交换指针,如果allocator_traits<allocator_type>::propagate_on_container_swap::value
为true,则为allocator。 它没有按元素交换。 实际上,除了std::array
之外,不允许使用标准容器进行逐元素交换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.