10種經典排序 選擇排序 02

2021-09-17 08:31:37 字數 1427 閱讀 8530

選擇排序(selection-sort)是一種簡單直觀的排序演算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。

演算法描述:n個記錄的直接選擇排序可經過n-1趟直接選擇排序得到有序結果。具體演算法描述如下:

1. 初始狀態:無序區為 r[ 1..n ],有序區為空;

2. 第i趟排序 (i=1,2,3…n-1) 開始時,當前有序區和無序區分別為 r[1..i-1] 和 r( i..n)。該趟排序從當前無序區中-選出關鍵字最小的記錄 r[ k ],將它與無序區的第 1 個記錄 r 交換,使r[1..i]和r[i+1..n)分別變為記錄個數增加1個的新有序區和記錄個數減少1個的新無序區;

3. n-1趟結束,陣列有序化了。

舉例說明:

##優化後:code#############################

public class selectsort 

for (int i = 0; i < arr.length; i++)

}if (flag != i) }}

public static void main(string args) ;

selectsort(arr);

system.out.println(arrays.tostring(arr));}}

###############################

public void sort(int arr)

}// 將最小元素交換到起始位置

int temp = arr[i];

arr[i] = arr[min];

arr[min] = temp;}}

###############################

public static void selectsort(int arr)

int temp = arr[i];          //將i位置上的元素值和最小索引位置的元素值交換

arr[i] = arr[minindex];

arr[minindex] = temp;}}

排序演算法02 選擇排序

首先,從 0,len 中找到陣列中最小的元素,讓它與第乙個元素交換。接著從 1,len 中找出最小的元素,讓它與第二個元素交換。迴圈往復,最終使得陣列從小到大排序。視覺化效果 這裡 created by yiying on 2017 4 22.function w 選擇排序演算法實現 selecti...

兩種經典排序(氣泡排序和選擇排序)

include void temp int i,int j 這種方法只能改變形參的值,不能真正的交換值 void bubble int num,int n 氣泡排序使陣列由小到大 void sort int num,int n 選擇排序使陣列由大到小 int i,j,k,temp for i 0 i...

經典排序演算法 選擇排序

對比陣列中前乙個元素跟後乙個元素的大小,如果後面的元素比前面的元素小則用乙個變數k來記住他的位置,接著第二次比較,前面 後乙個元素 現變成了 前乙個元素 繼續跟他的 後乙個元素 進行比較如果後面的元素比他要小則用變數k記住它在陣列中的位置 下標 等到迴圈結束的時候,我們應該找到了最小的那個數的下標了...