选择排序
对比数组中前一个元素跟后一个元素的大小,如果后面的元素比前面的元素小则用一个变量k 来记住他的位置,接着第二次比较,前面“后一个元素”现变成了“前一个元素”,继续跟他的“ 后一个元素”进行比较如果后面的元素比他要小则用中间变量直接替换,虽然这时如果数组 里有两个相同的数,我们会破坏前后顺序,所以选择排序是一个不稳定的排序算法, 代码如下:
public class Test8 { public static void main(String[] args) { int[] arr = {9,8,7,6,1,2,3,4}; System.out.println("排序前:"); PrintArray.Print(arr);//调用打印数组方法 for(int i =0 ;i<arr.length;i++){ for(int j = i;j<arr.length;j++){ if (arr[i]>arr[j]) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } System.out.println("排序后:"); PrintArray.Print(arr); } }
public class PrintArray {//打印数组 private PrintArray(){}; public static void Print(int[] arr) { System.out.print("["); for(int i = 0 ; i<arr.length ;i++){ if (i==arr.length-1) { System.out.println(arr[i]+"]"); }else { System.out.print(arr[i]+", "); } } } }