选择排序
选择排序的思想也非常简单,选择排序是对冒泡排序的一种改进排序放法。
简单的选择排序与冒泡排序的区别是:
冒泡:
冒泡排序是从一排数据的第一个数开始和右面的一个数进行比较,左面 比右面大则交换位置,然后第二个数和第三个数进行比较,左面比右面大就交换位置,遍历一遍之后就把最大的移动到了最右面。
选择:
选择排序相对于冒泡排序来说,宗旨是一样的,遍历一遍选出一个最大或者最小的数,确定他的位置。但选择排序比冒泡排序优化的地方在于,选择排序找打一个大或小数的之后只是记录下来而没有交换位置,当遍历一遍之后找到最大或者最小的数之后才和当前位置的数进行交换。比冒泡排序节省了一些交换数据位置的性能开销。
(图片来源:https://www.cnblogs.com/fivestudy/p/10212306.html?tdsourcetag=s_pcqq_aiomsg)
public static void xz(int a[]){
for(int i=0;i<a.length-1;i++){
for(int j=i+1;j<a.length;j++){
int min = i;
if(a[j]<a[i]){
min = j;
}
if(min !=i){
int temp;
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
for(int i =0;i<a.length;i++){
System.out.println(a[i]);
}
}