pub fn bubble_sort<T: Ord>(arr: &mut [T])Expand description
Bubble sort — qo’shni elementlarni almashtira-almashtira “pufakchani” yuqoriga chiqarish.
G’oya: massiv bo’ylab yurib, arr[j] > arr[j+1] bo’lsa almashtiramiz.
Bitta to’liq yurishdan keyin eng katta element oxirida bo’ladi.
Bu yerda optimallashtirilgan variant: agar bitta yurishda hech narsa almashmasa, massiv allaqachon tartiblangan — to’xtaymiz (shuning uchun eng yaxshi holat O(n)).
- Time: O(n) / O(n²) / O(n²), Space: O(1), barqaror.
§Misol
use rust_algorithms::sorting::bubble_sort;
let mut v = vec![5, 1, 4, 2, 8];
bubble_sort(&mut v);
assert_eq!(v, [1, 2, 4, 5, 8]);