1.1. 基本描述
元素個數為n的陣列,需要按照由小到大的順序進行元素排序。
1.2. 演算法分析
選擇排序的基本思想:
每一趟排序從未排好序的部分元素中選擇乙個值最小的元素,然後將其與這些未排好序的元素的第乙個元素交換位置
。容易發現,時間複雜度為o(n^2),是
不穩定排序。
public class selectionsort ;
// 每一趟,從未排序的部分選出乙個最小值,然後第n個值與該最小值交換
for (int i = 0; i < unsortedarr.length - 1; i++)
}// 當第i個數就是最小值時,就不用執行交換操作了
if (minindex != i)
} stringbuffer stringbuffer = new stringbuffer();
for (int k = 0; k < unsortedarr.length; k++)
system.out.println(stringbuffer.tostring());
}}
排序演算法之三 直接選擇排序
簡單選擇排序 selection sort 在八大排序中是最容易理解的部分 演算法 從小到大 在要排序的序列中,從頭到尾遍歷,選出最小的數與第乙個位置的數交換。在剩餘的序列中,從頭到尾遍歷,選出最小的數與剩餘序列第乙個位置的數交換 原序列第二個位置 不斷地迴圈下去,直至序列只剩下乙個數。演算法演示 ...
內部排序演算法 選擇排序
選擇排序法可使用兩種方式排序 從小到大或從大到小 例如 當n個資料需要由大至小排序時,首先將第乙個位置的資料依次和第2 3 4 n個位置的資料進行比較。如果資料大於或等於其中乙個位置,則不變 若小於其中乙個位置的資料,則兩個位置的資料互換。互換後第1個位置的資料繼續與後續位置的資料進行比較,直到位置...
排序演算法(三) 選擇排序
選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始 末尾 位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法 比如序列 5,5,3 第一次就將第乙個 5 與 3 交換,導致第乙個5挪動...