选择排序与冒泡排序

一、选择排序

中心思想:将数组的第一个数设为该数组的最小值,然后依次与后面的数比较,求出最小值,再将第二个数设为最小值,与后面的数比较求出最小值,以此类推直到排序完成

选择排序交换的是下标

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");
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值