冒泡排序

Posted bizhenghe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序相关的知识,希望对你有一定的参考价值。

冒泡排序

  • 冒泡排序无疑是最为出名的排序算法之一,总共有八大排序!
  • 冒泡的代码还是相当简单的,两层循环,外层冒泡层数,里层依次比较,江湖中人人皆知。
  • 我们看到嵌套循环,应该立马可以得出这个算法的时间复杂度为O(n^2)
package array;

import java.util.Arrays;

public class ArraysDemo07 {
        public static void main(String[] args) {
        /*冒泡排序
        1.比较数组中,两个相邻的元素,如果第一个数比第二个大,就交换他们的位置
        2.每一次比较,都会产生出一个最大,或者最小的数字
        3.下一轮你则可以少一次排序
        4.依次循环,直到结束
         */
            int[] a = {31,51,46,32,5,1,6,41};
            int[] sort = sort(a);
            System.out.println(Arrays.toString(sort));

        }
        public static int[] sort(int[] array){
            int temp = 0;               //临时变量
            for (int i = 0; i < array.length-1; i++) {          //外层循环,判断我们这个要走多少次
                boolean flag = false;                           //通过flag标识位减少没有意义的比较
                for (int j = 0; j < array.length-1-i; j++) {    //内层循环,比价判断两个数,如果第一个数比第二个大,则交换位置
                    if (array[j+1]<array[j]){
                        temp = array[j];                              //交换
                        array[j] = array[j + 1];                      //两个数
                        array[j + 1] = temp;                          //的位置
                        flag = true;
                    }
                }
                if (flag = false){
                    break;
                }
            }
            return array;
        }
}

以上是关于冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

java冒泡排序法代码

python代码实现鸡尾酒排序(双向冒泡排序)

冒泡排序python代码

视频+图文+动画详解冒泡排序

交换排序(冒泡排序快速排序的算法思想及代码实现)

C语言冒泡排序。