|
1、选择排序简要概述
它的基本思想是:第一次从arr[0]到arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1]到arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[2]到arr[n-1]中选取最小值,与arr[2]交换,…,第i次从arr[i-1]到arr[n-1]中选取最小值,与arr[i-1]交换,…,第n-1次从arr[n-2]~arr[n-1]中选取最小值,与arr[n-2]交换,
总共通过n-1次,得到一个按排序码从小到大排列的有序序列。
2、选择排序图解
3、代码实现
public class test{
public static void main(String[] args) {
int array[] = new int[]{5,-1,-8,10,30,20};
System.out.print("选择排序前:");
for (int i = 0; i < array.length; i++) {
System.out.print(array + " ");
}
selectSort(array);
System.out.println();
System.out.print("选择排序后:");
for (int i = 0; i < array.length; i++) {
System.out.print(array + " ");
}
}
public static void selectSort(int a[]) {
int temp = 0;
for (int i = 0; i < a.length - 1; i++) {
int minIndex = i;
int min = a[minIndex];
for (int j = i + 1; j < a.length; j++) {
if (min > a[j]) {
min = a[j];
minIndex = j;
}
}
if (minIndex != i) {
a[minIndex] = a;
a = min;
}
}
}
}
————————————————
版权声明:本文为CSDN博主「楠哥学IT」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ITCSDN_/article/details/108287297
|
|