选择排序也属于内部排序,是从待排序的数据中,按照指定规则选出某一元素,再按规定交换位置后达到排序的目的。
- 初始状态 [8 3 2 1 7 4 6 5]
- 第一次交换完成后:[1 3 2 8 7 4 6 5]
- 第二次交换完成后:[1 2 3 8 7 4 6 5]
- 第三次交换完成后:[1 2 3 8 7 4 6 5]
- 第四次交换完成后:[1 2 3 4 7 8 6 5]
- 第五次交换完成后:[1 2 3 4 5 8 6 7]
- 第六次交换完成后:[1 2 3 4 5 6 8 7]
- 第七次交换完成后:[1 2 3 4 5 6 7 8]
说明:
package DataStructures.com.test.Sort;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*
*/
public class SelectSort {
public static void main(String[] args) {
int[] arr = {101, 34, 119, 1};
System.out.println("排序前的数组~~:");
System.out.println(Arrays.toString(arr));
SelectSort(arr);
System.out.println("排序后的数组~~:");
System.out.println(Arrays.toString(arr));
}
public static void SelectSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++){ //假定:最小数的下标是0,最小的数是arr[0]
int minIndex = i;
int min = arr[i];
for (int j = i+1; j <arr.length;j++){
if (min > arr[j]) {//说明我们假定的最小值不是真正的最小值
minIndex=j;//重置最小值的下标
min = arr[j];//重置最小值
}
}
//如果最小值的下标不等于i,说明最小值被重置过,进行交换
if (minIndex!=i) {
arr[minIndex] = arr[i];
arr[i] = min;
}
}
}
}
本文地址:https://blog.csdn.net/weixin_43217222/article/details/107353666
如对本文有疑问, 点击进行留言回复!!
springcloud中feign调用处理mybatis-plus Ipage反序列化问题。
Flume 史上最全面的大数据学习第十篇(一) 别再说不知道flume是什么了
网友评论