選擇排序
1,選擇待排序陣列中的第i個元素
2,從它之後,也就是從第i+1個元素到最後乙個元素(n)中找到最小的元素,將其與1中選擇的元素互換
特點:排序過程中,前i個元素是排好序的
插入排序
1,將待排序陣列的第i個元素放入temp
2,向左移動一位,如果是比temp大的元素,就替換掉當前的元素
特點:排序過程中,前i個元素是排好序的
選擇排序在i後面的元素中查詢,插入排序在i前面的元素中查詢。
顧名思義,選擇是在未排序好的陣列中選出合適的元素,插入是往排序好的陣列中插入元素。
插入排序:
void insertsort(int a,int m)
}
選擇排序:
void selectsort(int a,int m)
} a[pos] = a[i];
a[i] = tmp;
for (int k = 0; k < m; ++k)
cout << a[k] << " ";
cout << endl;
}}
演算法 插入排序與選擇排序
一 插入排序 1 直接插入排序是一種簡單的插入排序法,其基本思想是 把待排序的記錄按其關鍵碼值的大小逐個插入到一 個已經排好序的有序序列中,直到所有的記錄插入完為止,得到乙個新的有序序列 思想十分簡單,演算法實現如下 直接插入排序 越有序插入越快 將每乙個數與前面所有排好序的數字相比較,如果大了 直...
排序演算法之「選擇排序 氣泡排序 插入排序」
上午上課老師通過兩個神似的三角形,講了氣泡排序和選擇排序的區別和聯絡在 恰好下午看到了這樣的一寫關於該排序演算法的一些資料,想了想還是決定試一試,因為出來混總是要還的。就是使一串記錄,按照其中某個或者某個關鍵字的大小,遞增或遞減的排列起來的演算法。它應用在大量資料處理方面,乙個優秀的演算法可以節省大...
排序演算法之 氣泡排序,插入排序,選擇排序
顧名思義 小的數一點一點向前冒,最終有序 時間複雜度 o n 2 public static void bubblesort int arr for int i arr.length 1 i 0 i public static void swap int arr,int i,int j 基本思想 每...