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

     1 /*
     2  * int类型的数组对象
     3  * int[] arr = {9, 8, 10, 7, 6, 0, 11};
     4  * 经过冒泡排序对以上数组中的元素进行排序
     5  * 
     6  * 原始数据:9,8,10,7,6,0,11
     7  * 第一次循环:    第零位9跟第一位8进行比较,交换位置:8,9,10,7,6,0,11
     8  *             第一位9跟第二位10进行比较,位置不变:8,9,10,7,6,0,11
     9  *            第二位10跟第三位7进行比较,交换位置:8,9,7,10,6,0,11
    10  *            第三位10跟第四位6进行比较,交换位置:8,9,7,6,10,0,11
    11  *            第四位10跟第五位0进行比较,交换位置:8,9,7,6,0,10,11
    12  *            第五位10跟第六位11进行比较,位置不变:8,9,7,6,0,10,11
    13  *最大数11冒出
    14  *此时数据:8,9,7,6,0,10
    15  *第二次循环:    第零位8跟第一位9进行比较,位置不变:8,9,7,6,0,10
    16  *             第一位9跟第二位7进行比较,交换位置:8,7,9,6,0,10
    17  *            第二位9跟第三位6进行比较,交换位置:8,7,6,9,0,10
    18  *            第三位9跟第四位0进行比较,交换位置:8,7,6,0,9,10
    19  *            第四位9跟第五位10进行比较,位置不变:8,7,6,0,9,10
    20  *最大数10冒出
    21  *此时数据:8,7,6,0,9
    22  *第三次循环:    第零位8跟第一位7进行比较,交换位置:7,8,6,0,9
    23  *             第一位8跟第二位6进行比较,交换位置:7,6,8,0,9
    24  *            第二位8跟第三位0进行比较,交换位置:7,6,0,8,9
    25  *            第三位8跟第四位9进行比较,位置不变:7,6,0,8,9
    26  *最大数9冒出
    27  *此时数据:7,6,0,8
    28  *第四次循环:    第零位7跟第一位6进行比较,交换位置:6,7,0,8
    29  *             第一位7跟第二位0进行比较,交换位置:6,0,7,8
    30  *            第二位7跟第三位8进行比较,位置不变:6,0,7,8
    31  *最大数8冒出
    32  *此时数据:6,0,7
    33  *第五次循环:    第零位6跟第一位0进行比较,交换位置:0,6,7
    34  *             第一位6跟第二位7进行比较,位置不变:0,6,7
    35  * 最大数7冒出
    36  * 此时数据:0,6
    37  * 第六次循环:    第零位0跟第一位6进行比较,位置不变:0,6
    38  * 最大数6冒出
    39  */
    40 public class MaoPao {
    41     public static void main(String[] args) {
    42         // 定义要排序的int数组
    43         int[] arr = { 9, 8, 10, 7, 6, 0, 11 };
    44         // 计算循环的次数(可有可无)
    45         int count = 0;
    46         for (int i = arr.length - 1; i > 0; i--) {
    47             for (int j = 0; j < i; j++) {
    48                 count++;
    49                 if (arr[j] > arr[j + 1]) {
    50                     // 以下三行代码完成数据的交换
    51                     int temp;// 暂时存放
    52                     temp = arr[j];// 第一个数拿出来
    53                     arr[j] = arr[j + 1];// 第二个数放到第一个数的位置
    54                     arr[j + 1] = temp;// 第一个数放到第二个数的位置
    55                 }
    56             }
    57         }
    58         System.out.println("循环了" + count + "次。");
    59         for (int i = 0; i < arr.length; i++) {
    60             System.out.println(arr[i]);
    61         }
    62     }
    63 
    64 }

    最简单的排序算法。

  • 相关阅读:
    iView -- TimePicker 自定义修改时间选择器选择时间面板样式
    Go语言--容器:存储和组织数据的方式--数组、切片
    php递归实现一维数组转为指定树状结构 --- 省市区处理
    Go语言--基础语法笔记
    Mongodb 安装错误汇总
    GIt -- git push 远程分支老是需要重新输入公钥密码问题处理?
    GIt -- fatal: refusing to merge unrelated histories 问题处理
    Linux -- Centos6 yum安装相关问题与处理
    Linux -- Xshell ,Xftp远程连接中文乱码怎么解决?
    Laravel 多数据库配置及查询操作
  • 原文地址:https://www.cnblogs.com/HeSC980513/p/12929602.html
Copyright © 2011-2022 走看看