选择排序:选择排序是现将当前第一个索引记为最小值的索引位置,并将其 与此索引后面的元素比较得到最小值的索引,最后比较跟前面的最小值索引是否相同,不同交换两个索引
的值
实现过程:
实现代码:
//交换元素函数 public void swap(int[] arrs, int i, int j) { int temp = arrs[i]; arrs[i] = arrs[j]; arrs[j] = temp; }public int[] select_Sort(int[] arrs) { System.out.println("排序前的元素为:"); for (int num : arrs) { System.out.print(num+" "); } for(int i = 0; i < arrs.length -1; i++) { //将当前第一个元素记为最小值,记录最小值的索引 int min = i; for(int j = i+1; j < arrs.length; j++) { //如果当前索引元素值大于下一个索引元素值,最小值索引记为j if(arrs[j] < arrs[min]) { min = j; } }
System.out.println();
//打印每一轮的排序结果 System.out.println("第" + (i+1) +"轮排序:"); for (int num : arrs) { System.out.print(num + " "); }//如果最小值索引改变了,不等于i,交换元素之间的值 if(min != i) { swap(arrs,i,min); } } System.out.println(); System.out.println("排序后的元素为:"); for (int num : arrs) { System.out.print(num+" "); } return arrs; } public static void main(String[] args) { Sort sort = new Sort(); int[] arrs = {4,2,6,8,1,3,5}; sort.select_Sort(arrs); }
结果: