标签:arr Java min int 每日 最小值 下标 排序 日记
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));
}
}
}
标签:arr,Java,min,int,每日,最小值,下标,排序,日记 来源: https://www.cnblogs.com/qinxuanya/p/15361033.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。