swap_remove — O(1) remove. remove — O(n) remove.
swap_remove:
remove:
1let mut v = vec![1, 2, 3, 4, 5];2v.swap_remove(1); // O(1)3// v: [1, 5, 3, 4] (order changed)45let mut v = vec![1, 2, 3, 4, 5];6v.remove(1); // O(n)7// v: [1, 3, 4, 5] (order preserved)
Key: swap_remove for speed, remove for order.