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

    /**
     * 排序算法-冒泡排序
     * 冒泡排序(Bubble Sort)算法是所有排序算法中最简单、最基本的一种。
     * 冒泡排序算法的思路就是交换排序,通过相邻数据的交换来达到排序的目的。
     * 冒泡排序的思路:
     * (1)对数组中的各数据,依次比较相邻的两个元素的大小。
     * (2)如果前面的数据大于后面的数据,就交换这两个数据。经过第一轮的多次比较排序后,便可将最小的数据排好。
     * (3)再用同样的方法把剩下的数据逐个进行比较,最后便可按照从小到大的顺序排好数组各数据。
     * 冒泡排序算法在对n个数据进行排序时,无论原数据有无顺序,都需要进行(i = n-1)次的外层循环。
     * 每次内部的排序随着步骤的递增,需要排序的数据逐步减少,所以需要 (n - i)次的内层循环,注意:i从1开始
     */
    import java.util.*;
    public class BubbleSort {
        public static void main(String[] args) {
            //生成一个10个的随机数组
            int size = 10;
            int[] ints = new int[size];
            for (int i = 0; i < size; i++) {
                ints[i] = (int)(Math.random() * 100 );
            }
            System.out.println("排序前的数组:" + Arrays.toString(ints));
    
            for (int i = 1; i < size; i++) {//外层循环:进行(size-1)次
                for (int j = 0; j < size - i; j++) {//内层循环:进行(size - i)次
                    if (ints[j] > ints[j+1]) {
                        int temp = ints[j];
                        ints[j] = ints[j+1];
                        ints[j+1] = temp;
                    }
                }
    
                System.out.println("第" + i + "步,排序结果为:" + Arrays.toString(ints));
            }
            System.out.println("最终排序后的数组:" + Arrays.toString(ints));
        }
    }
  • 相关阅读:
    set--常见成员函数及基本用法
    [Swust OJ 1026]--Egg pain's hzf
    [HDU 1111]--Secret Code
    [Swust OJ 1139]--Coin-row problem
    [Swust OJ 781]--牛喝水
    [Swust OJ 1132]-Coin-collecting by robot
    [Swust OJ 249]--凸包面积
    HTTP 请求头中的 X-Forwarded-For
    HTTP 下载文件中文文件名在 Firefox 下乱码问题
    数据挖掘系列 (1) 关联规则挖掘基本概念与 Aprior 算法
  • 原文地址:https://www.cnblogs.com/joshua317/p/14487794.html
Copyright © 2011-2022 走看看