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

    冒泡排序过程:

      第一步:从前一个元素开始,将相邻的两个元素依次进行比较,直到最后两个元素完成比较。如果前一个元素比后一个元素大,则交换它们的位置。整个过程完成后,数组中最后一个元素自然就是最大值,这样也就完成了第一轮的比较;

           第二步:除了最后一个元素,将剩余的元素继续进行两两比较,过程与第一步相似,这样就可以将数组中第二大的数放到倒数第二个位置上;

           第三步:依次类推,持续对越来越少的元素重复上面的步骤,知道没有任何一对元素需要比较为止。

      示例代码:

          

    package cn.cjj.basic;
    /**
    * 冒泡排序
    * @author CJJ
    *
    */
    public class demo6_bubbleSort {

    public static void main(String[] args) {
    int[] arr = { 5, 7, 2, 1, 9, 4 };
    System.out.print("冒泡排序前:");
    printArray(arr);
    bubbleSort(arr);
    System.out.print("冒泡排序后:");
    printArray(arr);

    }

    /**
    * 定义打印数组的方法
    *
    * @param arr
    */
    public static void printArray(int[] arr) {
    for (Object array : arr) {
    System.out.print(array + " ");
    }
    System.out.print(" ");
    }

    /**
    * 实现冒泡排序
    *
    * @param arr
    */
    public static void bubbleSort(int[] arr) {
    for (int i = 0; i < arr.length - 1; i++) {
    for (int j = 0; j < arr.length - i - 1; j++) {
    if (arr[j] > arr[j + 1]) {
    int temp = arr[j];
    arr[j] = arr[j + 1];
    arr[j + 1] = temp;
    }
    }
    System.out.println("第" + (i + 1) + "轮排序后:");
    printArray(arr);
    }
    }
    }

    编译结果:

    冒泡排序前:5 7 2 1 9 4
    第1轮排序后:
    5 2 1 7 4 9
    第2轮排序后:
    2 1 5 4 7 9
    第3轮排序后:
    1 2 4 5 7 9
    第4轮排序后:
    1 2 4 5 7 9
    第5轮排序后:
    1 2 4 5 7 9
    冒泡排序后:1 2 4 5 7 9

  • 相关阅读:
    Emacs教程
    华为上机测试 2015
    奇偶排序
    C语言中的EOF和回车不一样
    jquery 使用方法
    1116
    1115
    1109
    Oracle14~23
    get与post的区别
  • 原文地址:https://www.cnblogs.com/JJ-Chen/p/4474961.html
Copyright © 2011-2022 走看看