首页 > 编程语言 > 详细

冒泡排序

时间:2020-07-02 11:39:44      阅读:64      评论:0      收藏:0      [点我收藏+]

实现数字升序排序

举例:{87,56,43,35,66}

分析:每次比较相邻两数,小的交换到前面,每轮比较结束后最大的数交换到最后

第一轮:(1)56 87 43 35 66(87和56比较,56小,交换)

    (2)56 43 87 35 66(87和43比较,43小,交换)

    (3)56 43 35 87 66(87和35比较,35小,交换)

    (4)56 43 35 66 87(87和66比较,66小,交换)

    本轮87最大,下面不再进行比较

第二轮:(1)43 56 35 66(56和43比较,43小,交换)

    (2)43 35 56 66(56和35比较,35小,交换)

    (3)43 35 56 66(56和66比较,56小,不交换)

    本轮66最大,下面不再进行比较

第三轮:(1)35 43 56(43和35比较,35小,交换)

    (2)35 43 56(43和56比较,43小,不交换)

    本轮56最大,下面不再进行比较

第四轮:(1)35 43(35和43比较,35小,不交换)

 

由上总结结论:n个数排序,比较n-1轮,每轮比较(n-(轮数))次

代码实现:

import java.util.Arrays;

//冒泡排序
public class Bubble {
  public static void main(String[] args) {
    int []arr={87,56,43,35,66};
    for (int i = 0; i < arr.length-1; i++) {
      for (int j = 0; j < arr.length-1-i; j++) {
        if(arr[j]>arr[j+1]){//比较相邻两数,小的交换到前面
        int temp=arr[j];
        arr[j]=arr[j+1];
        arr[j+1]=temp;
        }
      }
    }
    //输出按升序排序后的结果
    System.out.println(Arrays.toString(arr));
  }
}

技术分享图片

 

冒泡排序

原文:https://www.cnblogs.com/qby-java/p/13223631.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!