冒泡排序(Java版)

冒泡排序的原理是一直比较相邻的两个数的值,如果左边比右边位置的值要大,则将这两个位置的值互换。当第一轮循环完成,最大值将在数组最右边;当第二轮循环完成,数组第二大的值会在数组倒数第二的位置,以此类推。

冒泡排序的平均时间复杂度为O(n^2), 最好的时间复杂度为O(n),最坏时间复杂度为O(n^2)。

/**
 * Created by lkmc2 on 2018/1/8.
 */
public class BubbleSort {
    public static void bubbleSort(int[] array) {
        for (int i = 0; i < array.length - 1; i++)
            for (int j = 0; j < array.length - i - 1; j++)
                //如果第j个元素比j+1元素的值大
                if (array[j] > array[j + 1]) {
                    //交换这两个元素
                    int temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                }
    }

    public static void main(String[] args) {
        int[] array = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};

        bubbleSort(array);

        for (int num : array) {
            System.out.print(num + " ");
        }
    }
}
运行结果
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 该系列文章主要是记录下自己暑假这段时间的学习笔记,暑期也在实习,抽空学了很多,每个方面的知识我都会另起一篇博客去记...
    Yanci516阅读 12,282评论 6 19
  • 排序的基本概念 在计算机程序开发过程中,经常需要一组数据元素(或记录)按某个关键字进行排序,排序完成的序列可用于快...
    Jack921阅读 1,460评论 1 4
  • 最近和媳妇聊天,谈到朋友的话题,媳妇问了我一句:你说你有朋友吗?我思考了片刻,竟然无言以对。 细细算来,我真的有朋...
    煜言阅读 388评论 2 1
  • 有一种粉丝偶像的喜欢,叫做生死相随。迈克尔杰克逊去世后,12位歌迷因承受不了打击,相约自杀。 有一种粉丝对偶像的喜...
    我是自己的宝宝阅读 363评论 0 0
  • 你时不时地会感到一筹莫展,或者失去方向,如果你没有这种感觉,那么你的生活可能陷入了停滞。 再大的人生层面。比...
    丁咏华阅读 132评论 0 0