<span style="font-size:18px;">package com.xaut.zyq;
import java.util.Arrays;
//简单选择排序算法,就是通过n-i次关键字之间的比较,从n-i+1个记录中选出关键字最小的记录,
//并和第i(1<i<n)个记录交换之。
//API(Application Programming Interface,应用程序编程接口)查阅api文档
public class SelectSort {
public static void main(String[] args) {
SelectSort ss = new SelectSort();
int a[] = { 9, 1, 5, 8, 3, 7, 4, 6, 2 };
System.out.println(Arrays.toString(ss.SelectSort(a)));
}
private int[] SelectSort(int b[]) {
int i, j, min;
for (i = 0; i <= b.length; i++) {//遍历一遍整个数组
min = i;//将当前下标定义为最小值下标
for (j = i + 1; j <b.length; j++) {//遍历剩下的数组元素
if (b[min] > b[j])//如果有小于当前最小值的关键字
min = j;//将此关键字的下标赋值给min
}
if (i != min)//如果 min不等于i说明找到最小值,交换
swap(b, i, min);//交换b[i]和b[min]的值
}
return b;
}
private void swap(int c[], int m, int n) {
int temp = c[m];
c[m] = c[n];
c[n] = temp;
}
/*最开始:
*[1, 9, 5, 8, 3, 7, 4, 6, 2]
*[1, 9, 5, 8, 3, 7, 4, 6, 2]
*[1, 2, 5, 8, 3, 7, 4, 6, 9]
*[1, 2, 3, 8, 5, 7, 4, 6, 9]
*[1, 2, 3, 4, 5, 7, 8, 6, 9]
*[1, 2, 3, 4, 5, 6, 8, 7, 9]
*[1, 2, 3, 4, 5, 6, 7, 8, 9]
*
*/
}
</span>
数据结构之排序(二)选择排序
最新推荐文章于 2022-09-19 21:28:06 发布