選擇排序 JAVA

2021-07-30 06:55:18 字數 607 閱讀 1158

選擇排序原理:

每次選定乙個位置的數,依此和後續位置的數比較,如果選定的數大於後面的數,則交換

第一次選擇出最小值,第二次從第二個位置開始比

共比較n-1輪,每輪比較n-i-1次

int a = new int;

for(int times = 0; times < a.length-1; times++)

}}

上述**在在一輪比較中可能會交換多次,如第一輪比較時,首先4>2,則將二者交換,此時a[times] = 2,再比較2>1,再進行交換使得a[times] = 1,這裡需交換2次

改進之,思路:在一輪比較中,每次比較只記錄目前為止最小值的索引,直到本輪比較完成,最終的索引即為本輪最小值的索引,此時再進行交換,確保每輪只交換一次。

int a = new int;

for(int times = 0; times < a.length-1; times++)

}int tmp = a[times];

a[times] = a[minindex];

a[minindex] = tmp;

}

Java 選擇排序

public static void selectsort int a int n a.length int minindex 0 從無序區中選乙個最小的數放在有序區的最後,初始時認為整個陣列都是無序的,選乙個最小的數放到第一位 for int i 0 i 直接選擇排序和插入排序類似,都將資料分為有...

Java 選擇排序

package com.vgbh public class selectsorting 第一趟,從n個元素中找出關鍵字最小的元素與第乙個元素交換 第二趟,在從第二個元素開始的n 1個元素中再選出關鍵字最小的元素與第二個元素交換 如此,第k趟,則從第k個元素開始的n k 1個元素中選出關鍵字最小的元素...

java選擇排序

選擇排序演算法的原理 每次找出最小的乙個數放到陣列的最左邊,然後從剩餘的陣列中繼續找出最小的數放到剩餘陣列的最左邊package com.sort public class selectionsort return arr param start 剩餘部分陣列 開始部分 param arr 陣列 r...