天天看點

看動畫學算法之:排序-選擇排序

簡介

選擇排序的例子

選擇排序的java代碼實作

選擇排序的第二種java實作

選擇排序的時間複雜度

選擇排序就是從數組中選擇出來最大或者最小的元素,然後将其和隊首或者隊尾的元素進行互動。

因為首先做的是一個選擇的過程,是以叫做選擇排序。

假如我們有一個數組:29,10,14,37,20,25,44,15,怎麼對它進行選擇排序呢?

先看一個動畫:

看動畫學算法之:排序-選擇排序

選擇排序的原理如下:

8個數字,我們需要進行7輪排序。

以第一輪為例,我們對對所有的資料進行比較,找到其中最小的那個10,然後把10放在數組的第一個。

當第二輪時,因為數組的第一個元素10已經排好序了,我們隻需要從第二個位置開始就行了,同樣的,第二輪我們找到後面幾個元素中最小的那個14,将其放在數組的第二個位置。

以此類推進行7輪排序就得到了最後的結果。

我們把上面的邏輯用java代碼實作如下:

繼續閱讀