選擇排序是一種很直觀的排序演算法,就是每次選出最小(大)的元素,依次放在序列的前面。
在要排序的一組數中,選出最小(或者最大)的乙個數與第1個位置的數交換(swap);然後在剩下的數當中再找最小(或者最大)的與第2個位置的數交換,依次類推,直到第n-1個元素(倒數第二個數)和第n個元素(最後乙個數)比較為止。
操作方法:第一趟,從n 個記錄中找出關鍵碼最小的記錄與第乙個記錄交換;
第二趟,從第二個記錄開始的n-1 個記錄中再選出關鍵碼最小的記錄與第二個記錄交換;
以此類推…..
第i 趟,則從第i 個記錄開始的n-i+1 個記錄中選出關鍵碼最小的記錄與第i 個記錄交換,
直到整個序列按關鍵碼有序。
/**
* 選擇排序 雙層迴圈,每次找出剩下序列中最小的放到合適位置
* *@author qt
* */
public
class
selectionsortdemo ;
selectsort(a, a.length);
for (int i : a)
}public
static
void
selectsort(int a, int length)
}// 找到最小的,交換元素
int temp = a[i];
a[i] = a[k];
a[k] = temp;}}
}
基礎演算法之選擇排序Selection Sort
原理 首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。一種簡單直觀的排序演算法。例子將陣列 3,6,4,2,5,1 進行從大到小排序 排序步驟 第一趟找到最小數1,放到最前邊...
排序 選擇排序 選擇排序 堆排序
寫在前面 上傳github交換排序選擇排序 堆排序 選擇排序 顧名思義,我們就可以猜到,它是原則合適的元素放到合適的位置 從圖中,我們可以得到 1.用第乙個元素,和其他所有的元素進行比較,找出最小的,然後進行交換 2.然後進行,資料的遞增 3.直到資料全部有序 void selectsort int...
選擇排序 直接選擇排序
演算法思想 在每一趟的排序中,從待排序列中選出關鍵字最小或者最大的元素放在其最終的位置上 過程分析 在第i趟直接排序中,通過n i次關鍵字的比較,從n i 1個元素中選出關鍵字最小的元素 與第i個元素進行交換。經過n 1趟比較,直到表有序為止 效能分析 時間複雜度o n 2 include defi...