作者:向着成功一直努力的人 | 来源:互联网 | 2023-10-12 08:39
看了很多都是BEGIN---END的循环,找到后删除,这个很慢,
有没更快的?find??
如果没有只好自己写个数组+链表,删除直接偏移到位置
12 个解决方案
情况不对,不是2分了。完了,估计这家伙以后发帖是0分了。
deque支持随机访问,提供c.erase(pos)方法,删除指定下标元素
那得看是什么样的容器,像deque,vector,string删除pos位置的元素,其查找的时间复杂度都是O(1)的,list就是O(n)了,map和set就是O(logN)了。
deque,vector,string在pos插入和删除时所用的查找时间复杂度都是O(1),但是有可能导致大量的数据移动,总体效率不高。
你看的是queue不是deque,deque都支持[]下标操作
vector.erase(begin()+pos),删除好慢啊好慢,不做点手脚的话,release下的速度起码慢了十倍
去看看有些什么接口吧
http://www.cplusplus.com/reference/stl/deque/