一、选择排序
中心思想:将数组的第一个数设为该数组的最小值,然后依次与后面的数比较,求出最小值,再将第二个数设为最小值,与后面的数比较求出最小值,以此类推直到排序完成
选择排序交换的是下标
public class PaiXu{
public static void main(String[] args) {int[] a = {4,3,2,5,1};
for(int i = 0;i < a.length - 1;i++){ //i只能一直设到数组的倒数第二个数
int min = i; //设下标为i的值设为当前最小值
for(int j = i + 1;j < a.length;j++){
if(a[j] < a[min]){ //这里的min不能写成i
min = j;
}
}
if(min!=i){ //min不等于i的时候交换顺序
int temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
for(int n:a)
System.out.println(n);
}
}
二、冒泡排序
不停的交换,第一趟比较完就已经交换出了最小值到第一个位置,第一趟结束进行第二趟,不停的比较、交换直到排序完成
public class PaiXu {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a = {4,3,2,5,1};
for(int i = 0;i<a.length;i++){
for(int j = i+1;j<a.length;j++){
if(a[i]>a[j]){
int temp;
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
for(int b = 0;b<a.length;b++)
System.out.print(a[b]+"\t");
}
}