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
  • 相关阅读:
    go语言中文网
    理解Golang包导入
    如何保证对象的唯一性
    模拟java.util.Collection一些简单的用法
    静态代码块,构造代码块,局部代码块演示
    java中paint方法和paintComponent方法的不同
    java中异常注意问题(发生在多态是的异常问题)
    java中异常注意的细节2
    java中异常注意的细节1
    java中匿名类的注意细节
  • 原文地址:https://www.cnblogs.com/lyc-code/p/12924790.html
Copyright © 2011-2022 走看看