package lifubo.sort;
import java.util.Arrays;
public class SelectiveSort {
/**
* 选择排序
* 选择排序的特点:每轮比较都把最小的数放到前面
* 比较的轮次:length-1
* i:代表每轮比较第一个元素的位置(下标)
* j:代表每轮比较后面的每个元素的位置(下标)
*/
public static void main(String[] args) {
int[] array = {54,23,58,41,52,12,43,24,89,35};
System.out.println("排序之前:"+Arrays.toString(array));
System.out.println("排序之后:"+Arrays.toString(selectSort(array)));
}
public static int[] selectSort(int[] array){
for(int i=0;i<array.length-1;i++){
for(int j=i+1;j<array.length;j++){
if(array[i]>array[j]){
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
return array;
}
}
运行结果:
排序之前:[54, 23, 58, 41, 52, 12, 43, 24, 89, 35]
排序之后:[12, 23, 24, 35, 41, 43, 52, 54, 58, 89]
package lifubo.sort;
import java.util.Arrays;
public class BubblingSort {
/**
* 冒泡排序
* 冒泡排序的特点:把大的值放在后面,而且永远都是两两相邻的元素比较
* i:代表比较的轮次
* j:代表比较元素的下标
* 内层循环:0~~~length-i-1
*/
public static void main(String[] args) {
int[] array = {54,23,58,41,52,12,43,24,89,35};
System.out.println("排序之前:"+Arrays.toString(array));
System.out.println("排序之后:"+Arrays.toString(buddleSort(array)));
}
public static int[] buddleSort(int[] array){
for(int i=0;i<array.length-1;i++){
for(int j=0;j<array.length-i-1;j++){
if(array[j]>array[j+1]){
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
return array;
}
}
运行结果:
排序之前:[54, 23, 58, 41, 52, 12, 43, 24, 89, 35]
排序之后:[12, 23, 24, 35, 41, 43, 52, 54, 58, 89]
选择排序和冒泡排序
最新推荐文章于 2019-08-19 10:23:23 发布