你看的那两张随机插入和随机删除,是以下情况: 随机给一个位置 i ,然后让 list 和 vector 进行插入 /删除操作。那么这时候时间复杂度就不是 O(1)了。因为链表还要从头一直往后找,找到位置 i 的那个节点,即有 O(n)部分,但真正的插入 /删除还是 O(1)的。而 vector 找起来很快,耗时的是移动后面的元素(不考虑再分配的话)。
你应该看 random insert 最后一张图,那张才是链表的正确应用,文章也有提到: if the iterator was already known (no need for linear search), it would be faster to insert into a list than into the vector. 所以并不反直觉。