题目
排序算法 对10个数进行排序
排序算法:
- 简单排序:
1)直接插入
2)选择排序
3)冒泡排序 - 复杂排序算法:
1)希尔排序
2)快速排序
3)堆排序
4)归并排序
……
所以这题先用选择排序好了
以下
public class Problem28 {
public static void selectSort(int[] arr){
int temp, k ;
for (int i = 0; i < arr.length; i++) {
k = i;
//j从i的后一个数开始扫描到最后,记录下最小值
for (int j = i+1; j <arr.length ; j++) {
if(arr[k] >arr[j]) {
k = j; // k 记录最小值的下标
}
}
//与i位置的数交换
temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
public static void main(String[] args) {
int[] test = {2,33,4,9,5,89,54,29,78,45};
System.out.println("before sort:");
for (int i = 0; i <test.length ; i++) {
System.out.print(test[i]+" ");
}
selectSort(test);
System.out.println("\n"+"after sort:");
for (int i = 0; i < test.length; i++) {
System.out.print(test[i]+" ");
}
}
}
结果如下: