MCPcopy Create free account
hub / github.com/douchuan/algorithm / sort

Function sort

src/sort/bubble.rs:13–32  ·  view source on GitHub ↗

冒泡排序(Bubble Sort) 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺 序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素 的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列 已经排序完成。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的 顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会 上浮到顶端一样,故名“冒泡排序”。

(a: &mut [T])

Source from the content-addressed store, hash-verified

11//!
12
13pub fn sort<T>(a: &mut [T])
14where
15 T: Ord,
16{
17 let len = a.len();
18 for i in 0..len.saturating_sub(1) {
19 let mut swapped = false;
20
21 for j in 0..(len - 1 - i) {
22 if a[j] > a[j + 1] {
23 a.swap(j, j + 1);
24 swapped = true;
25 }
26 }
27
28 if !swapped {
29 break;
30 }
31 }
32}

Callers

nothing calls this directly

Calls 1

lenMethod · 0.45

Tested by

no test coverage detected