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
  • 相关阅读:
    JS浮点数的加减乘除运算
    鼓励心里的阳光
    mysql创建新用户并分配数据库权限
    CentOS下的Memcache安装步骤(Linux+Nginx+PHP+Memcached)
    Python发送邮件
    SQL操作语句
    Mysql数据库操作语句
    Cookie,Session的区别
    Jmeter性能测试-分布式压力测试
    性能测试指标
  • 原文地址:https://www.cnblogs.com/lyc-code/p/12924790.html
Copyright © 2011-2022 走看看