[−][src]Function sorting_algorithms::bubble_sort
pub fn bubble_sort<T: PartialOrd>(list: &mut [T])
The function implements the optimized bubble sort. It sorts the element in the input slice by mutating it.
This is a exact implementation of the pseudo code from Wikipedia:
procedure bubbleSort(A : list of sortable items)
n := length(A)
repeat
newn := 0
for i := 1 to n - 1 inclusive do
if A[i - 1] > A[i] then
swap(A[i - 1], A[i])
newn := i
end if
end for
n := newn
until n ≤ 1
end procedure
Arguments
- list - The list to be sorted
Examples
use bubble_sort::bubble_sort; let mut list = [ 2, 3, 5, 4, 1 ]; bubble_sort(&mut list); assert_eq!(list, [ 1, 2, 3, 4, 5 ]);