zoukankan      html  css  js  c++  java
  • 冒泡排序

    冒泡排序思想:

    假设有一个数组:int arr = {3,1,4,6,5}

    第一趟

      第一步:下标为0的数字与下标为1 的数字做对比,若下标为0的数字大于下标为1的数字,二者做交换

      第二部:下标为1的数字与下标为2的数字做对比,若下标为1的数字大于下标为2的数字,二者做交换

      。。。。。。直到最大的数字移动到最后下标的位置

    第二趟

      第一步:下标为0的数字与下标为1的数字做对比,若下标为0的数字大于下标为1的数字,二者做交换

      第二部:下标为1的数字与下标为2的数字做对比,若下标为1的数字大于下标为2的数字,二者做交换

      。。。。。。直到最大的数字移动到最后下标-1的位置

    。。。。。。重复以上步骤,直到数组有序为止

    冒泡排序代码及细节:

     1 int[] arr = {6,5,3,4,1};
     2 
     3         /**
     4          * 第一趟排序需要从0-N-1之间将最大的数浮到最后
     5          * 第二趟排序需要从0-N-2之间将最大的数浮到最后
     6          * 。。。。。。
     7          */
     8         for (int i = arr.length - 1; i > 0; i--){
     9             /**
    10              * 这里为什么要j < i ?
    11              * 每一组数字要进行arr[j]与arr[j+1]的比较
    12              * j+1要等于最后比较数字的下标,所以j要小于i
    13              */
    14             for (int j = 0; j < i; j++){
    15                 if (arr[j] > arr[j+1]){
    16                     int tmp = arr[j];
    17                     arr[j] = arr[j+1];
    18                     arr[j+1] = tmp;
    19                 }
    20             }
    21         }
    22         for (int i = 0; i < arr.length ; i++){
    23             System.out.println(arr[i]);
    24         }
      输出结果:1,3,4,5,6
  • 相关阅读:
    windows下安装mysql教程
    python生成器实现杨辉三角
    python默认参数问题
    python中判断素数的函数
    extract()和extact_first()的区别
    硬连接和软连接的区别
    du与df的区别
    命题逻辑
    关于 better-scroll 设置了以后无法滚动或不生效的问题
    Maven *IDEA*
  • 原文地址:https://www.cnblogs.com/lyc-code/p/12924790.html
Copyright © 2011-2022 走看看