教你五分鐘學會快速排序

2021-10-02 19:43:51 字數 1263 閱讀 2085

20為選定的關鍵字

轉換為二叉樹表示

即快排是加了關鍵字交換的二叉樹遍歷

想想快排的兄弟歸併排序, 二者都是遍歷二叉樹.

pub fn quicksort

( arr :

&mut [t]

)where t:std:

:cmp:

:partialord

fn quick_sorted

( arr:

&mut [t]

, a:usize,b : usize)where t:std:

:cmp:

:partialord

}fn partion

( arr :

&mut [t]

, p:usize,r:usize)

->usize where t:std:

:cmp:

:partialord

} arr.

swap

(i,r)

; i

}//插入排序

快排的改進點在**呢?

3分鐘學會氣泡排序

思路 兩個元素比較,大的放到右邊 從頭開始依次比較相鄰的兩個元素,目的是找出最大的乙個元素放到末尾,這個元素不再參與比較 第二次仍然從頭開始,把第二大的元素放到正確的位置 一共比較 len 1 趟,因為已經確定了 len 1 個元素的位置,那麼第 n 個肯定是最小的那個了 第 i 趟的比較次數為 l...

五分鐘學會markdown基本語法

在想要設定為標題的文字前面加 來表示,乙個 是一級標題,二個 是二級標題,以此類推。支援六級標題。示例 標題h1 標題h2 標題h3 標題h4 標題h5 標題h5 效果如下 標題h4 標題h5 標題h5 例項 刪除線 刪除線 開啟識別html標籤時 斜體字 斜體字 粗體 粗體 粗斜體 粗斜體 上標 ...

3 分鐘學會插入排序

思路 將待排元素插入到有序陣列中的合適位置,後邊的元素依次向後移動 將陣列分為有序與待排兩個區域 待排區從 1 開始,依次取出每個元素插入有序區,一共進行 n 1 趟 從有序區後面開始比較,有序元素 待排元素,有序元素則向後移動 實現public class solution else j 1 時,...