零基础小白学Java之冒泡排序

  • Author 杨叔
  • 冒泡排序算法
  • int类型数组中有:3,1,6,2,5几个元素,对几个元素进行冒泡排序
    大致思路如下:
    原数据:
    3 1 6 2 5
    将3和1进行比较大小,然后调换位置。
    1 3 6 2 5
    将3和6进行比较大小,然后调换位置。
    1 3 6 2 5
    将6和2进行比较大小,然后调换位置。
    1 3 2 6 5
    将6和5进行比较大小,然后调换位置。
    1 3 2 5 6
    第一次循环完成
    切记:一轮循环完成以后最右边的数一定是最大的
    所以在第二次循环时我们就不用管最右边的元素了

原数据:
1 3 2 5
将3和1进行比较大小,然后调换位置。
1 3 2 5
将3和2进行比较大小,然后调换位置。
1 2 3 5
将3和5进行比较大小,然后调换位置。
1 2 3 5
第二次循环结束

原数组;
1 2 3
将1和2进行比较大小,然后调换位置。
1 2 3
将2和3进行比较大小,然后调换位置。
1 2 3
第三次循环结束

原数组;
1 2
将1和2进行比较大小,然后调换位置。
1 2
第四次循环结束
代码如下:
如有不解之处,还需各位看官好好思考琢磨


public class BubbleSort {
 public static void main(String[] args) {
  int[] a={3,1,6,2,5};
  //开始排序
  //i<4是因为总共循环了四次
  for (int i=a.length-1;i>0;i--){
   //下面的for循环负责每次大循环里面的小循环
   //在第一次大循环里,小循环进行了4次
   //在第二次大循环里,小循环进行了3次
   //在第三次大循环里,小循环进行了2次
   //在第四次大循环里,小循环进行了1次
   for (int j=0;j<i;j++){
    if (a[j] >a[j+1]){
     //交换位置
     //定义一个临时变量用来交换位置
     int temp;
     temp=a[j];
     a[j]=a[j+1];
     a[j+1]=temp;
    }
   }
  }
//遍历
  for (int i =0;i<a.length;i++){
   System.out.println(a[i]);
  }
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值