初級排序 選擇排序

2022-06-08 19:57:10 字數 386 閱讀 2195

選擇排序分為兩部分:已排好序的,未排好序的;每次從未排好裡找出乙個最小的值,將這個值與未排好序的第乙個進行交換位置,意味著每次進行一次迴圈找出乙個最小值就相當於將乙個剩下未排序裡最小的給排進去。

#include

using namespace std;

const int maxn=101;

int main()

if(x!=i) swap(a[i],a[x]),s++;

}for(int i=0;i複雜度未o(n^2),選擇排序是不穩定的排序,舉個例子  4c,4b,1a; 若是按照數字進行排序,使用選擇排序的結果為:1a,4b,4c;

但穩定的排序結果是:1a,4c,4b;

穩定排序就是若兩個值相等,則排序後這兩個數的先後關係不變。

演算法初級 選擇排序

選擇排序雖然改進了氣泡排序,把交換次數從o n2 減少到o n 但是比較次數仍為o n2 選擇排序的大致邏輯是把所有元素比較一遍,將最小的元素與0號元素交換位置。然後從1號元素開始繼續比較,將最小元素與1號元素交換位置。以此類推,這個演算法中有序的元素在左邊,與氣泡排序相反。private long...

初級排序方法 選擇 插入 希爾排序

初級排序方法是最基本的排序方法,主要包括選擇排序 插入排序以及希爾排序。選擇排序的原理是通過比較整個陣列,找到最小值,然後將最小值與陣列中第乙個位置的數字進行交換,依靠迴圈來完成對整個陣列的排序。對於乙個由n個元素組成的陣列,這種方法進行 n 2 2次比較和n次交換,並且無論輸入是什麼情況,其比較和...

Java初級排序演算法 選擇排序 插入排序 希爾排序

package sort import edu.princeton.cs.algs4.in public class example private static boolean less comparable v,comparable w private static void exch comp...