演算法之插入排序與選擇排序

2021-07-08 18:27:21 字數 599 閱讀 9582

選擇排序

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 基本思想 每...