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
  • 相关阅读:
    玩转----使用数据驱动ddt时,如何写测试报告2种方法
    玩转----svn--入门
    玩转----Selenium家族简介
    起名的含义
    重新开始
    学习django: 庄园漫步
    测试常用的表格
    【Kata Daily 190927】Counting sheep...(数绵羊)
    【Kata Daily 190924】Difference of Volumes of Cuboids(长方体的体积差)
    【Kata Daily 190923】Odder Than the Rest(找出奇数)
  • 原文地址:https://www.cnblogs.com/lyc-code/p/12924790.html
Copyright © 2011-2022 走看看