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

    10 冒泡排序

    思路分析:

      核心思想为:
      使数组的当前部分(初始时为原数组)的最后一个值为最大值(升序)为或最小值(降序)
    
      使最后一个值为最大值的具体操作为(升序):在数组的当前部分里面每次(从第一个开始)都拿前面一个与后面相相比较,若比后面的值大,就交换,直到前面一个数访问当前数组的倒数第二个元素为止,
    
      使最后一个值为最小值的具体操作为(降序):在数组的当前部分里面每次(从第一个开始)都拿前面一个与后面相相比较,若比后面的值小就交换,直到前面一个数访问当前数组的倒数第二个元素为止,
    

    推导过程如下所示:

    int[] a={1,2,3,4,5};以a数组为例,可以得到如下所示的表(以降序为例)

    准备工作

      //bubble sort的意思是冒泡排序
            int[] a={9,8,7,6,5,4};
    //      int[] a={1,2,3,4,5,6};
    //      int[] a={1,4,121,4,5,6};
            System.out.println("需要排序的原数组a如下所示:");
            for (int i = 0; i < a.length; i++) {
                System.out.print(a[i]+"	");
            }
            System.out.println();//换行
    

    A.升序

    1.核心代码

      //升序
            for (int i = 0; i < a.length-1; i++) {
                for (int j = 0; j < a.length-1-i; j++) {
                    if(a[j]>=a[j+1]){
                        int temp=a[j];
                        a[j]=a[j+1];
                        a[j+1]=temp;
                    }
                }
            }
            System.out.println("排序后的数组a(升序)如下所示");
            for (int i = 0; i < a.length; i++) {
                System.out.print(a[i]+"	");
            }
    

    2.运行截图

    B.降序

    1.核心代码:

             //降序
            for (int i = 0; i < a.length-1; i++) {
                for (int j = 0; j < a.length-1-i; j++) {
                    if(a[j]<=a[j+1]){
                        int temp=a[j];
                        a[j]=a[j+1];
                        a[j+1]=temp;
                    }
                }
            }
            System.out.println("排序后的数组a(降序)如下所示");
            for (int i = 0; i < a.length; i++) {
                System.out.print(a[i]+"	");
            }
    
    

    2.运行截图

  • 相关阅读:
    [Erlang 0116] 当我们谈论Erlang Maps时,我们谈论什么 Part 1
    致鸡鸣狗盗
    一个技术人的知识管理方法论
    一碗清酒聚知音 我看 《少年黄飞鸿-铁马骝》
    [Erlang 0115] 2014值得期待的Erlang两本新书
    [Erlang 0114] Erlang Resources 小站 2013年7月~12月资讯合集
    我的2013 Q.E.D
    Elixir
    [Erlang 0113] Elixir 编译流程梳理
    [Erlang 0112] Elixir Protocols
  • 原文地址:https://www.cnblogs.com/SSSzhanglingzhi/p/14044274.html
Copyright © 2011-2022 走看看