
c++的STL模版库中的set,map容器的swap函数的时间复杂度是O(1)的吗?
我自己试验了一下发现相同的两个容器swap之后begin()的值会交换,但end()的值却没有变,请问这是怎么回事?...
我自己试验了一下发现相同的两个容器swap之后begin()的值会交换,但end()的值却没有变,请问这是怎么回事?
展开
展开全部
是的,是O(1)的复杂度。因为只需要交换内部的指针,所以不会遍历整个容器。
end()的值没变可能是因为没有必要变,因为end()不指向任何一个元素,仅仅用做判断结尾。
end()的值没变可能是因为没有必要变,因为end()不指向任何一个元素,仅仅用做判断结尾。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询