Java教程

Java每日学习日记

本文主要是介绍Java每日学习日记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Java选择排序

排序思想:
第一次从arr[0]到arr[n-1]中选取最小值,与arr[0]交换。第二次从arr[1]到arr[n-1]中选取最小值,与arr[1]交换…第i次从arr[i-1]到arr[n-1]中选取最小值,与arr[i-1]交换…第n-1次从arr[n-2]到arr[n-1]中选取最小值,与arr[i-2]交换。总共通过n-1次,得到一个按排序从小到大排列的有序序列。

排序规则:
1、选择排序一共有 数组的大小-1轮排序
2、每轮排序,又是一个循环,循环规则:
(1)先假定当前数是最小值
(2)然后和后面每个数进行比较,如果发现有比当前数更小的数,就重新确定最小的数,并且得到下标
(3)当遍历数组的最后时,就得到本轮最小数和下标
(4)进行交换
代码实现:

public class SelectedSort {

public static void main(String[] args) {
// TODO 自动生成的方法存根
//定义一个测试的排序数组
int[] arr= {3,9,-1,10,-2};
int min=0; //存储最小值的下标
int temp=0; //存储中间变量
int j=0;
for(int i=0;i<arr.length-1;i++) {
min=i; //假设该下标为最小值的下标
j=i;
for(;j<arr.length;j++) {
if(arr[min]>arr[j]) { //选取最小值,得到最小值得下标
min=j;
}
}
//进行交换
temp=arr[i];
arr[i]=arr[min];
arr[min]=temp;
System.out.printf("第%d次排序的结果是: \n",i+1);
System.out.println(Arrays.toString(arr));
}

}

}

这篇关于Java每日学习日记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!