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

    冒泡排序,面试经常遇到的算法题目,其实冒泡和上学时候站队是一个道理,个子小的靠前,个子大的靠后。其实和选择排序类似吧,选择排序是找到最小值后再交换位置,而冒泡是只要遇到前者比后者大的就交换位置。这样自然会有一些弊端,如果这个数组是升序排列那么排序的速度将会是最快的,但是如果是降序排列速度将会是最慢的。

    package bubbling;
    
    /**
     * 冒泡排序
     *
     * @author zy 刘会发
     * @since 2020/4/9
     */
    public class Bubbling {
    
        public static void ari() {
            int a[] = new int[]{5, 2, 7, 6, 3, 8, 9, 10, 20, 13, 15, 11};
            for (int i = 0; i < a.length; i++) {
                for (int j = i + 1; j < a.length; j++) {
                    if (a[i] > a[j]) {
                        exchange(a, i, j);//交换
                    }
                }
            }
            for (int i = 0; i < a.length; i++) {
                System.out.print(a[i] + ",");
            }
        }
    
        static void exchange(int[] a, int i, int j) {
            int temp = a[i];
            a[i] = a[j];
            a[j] = temp;
        }
    
        public static void main(String[] args) {
            ari();
        }
    }
  • 相关阅读:
    Java 继承和重写
    Java 构造函数和函数重载
    java 面向对象
    for循环和数组例题
    java数组和函数
    java程序流程控制
    CF600C Make Palindrome
    CF600A Extract Numbers
    [NOI2007]社交网络
    SPOJ 6779 GSS7
  • 原文地址:https://www.cnblogs.com/Tiandaochouqin1/p/12666046.html
Copyright © 2011-2022 走看看