专栏首页每天学点JavaScript排序算法Java代码实现(二)—— 冒泡排序

排序算法Java代码实现(二)—— 冒泡排序

本篇内容:

  • 冒泡排序

冒泡排序

算法思想:

冒泡排序的原理是:从左到右,相邻元素进行比较。

每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。

代码实现:

/**
 * 
 */
package com.cherish.SortingAlgorithm;

/**
 * @author acer
 *
 */
public class chapter_2_BubbleSorting extends ArrayBase{

    /**
     * 
     */
    public chapter_2_BubbleSorting() {
        // TODO 自动生成的构造函数存根
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        int[] array = new int[] {3,4,7,9,2,5,1,8};
        printArray(array);
        BubbleSorting(array);
        printArray(array);
    }
    
    
    /*
     * 冒泡排序的原理是:从左到右,相邻元素进行比较。
     * 每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。
     * */
    public static void BubbleSorting(int[] array) {
        int arrayLength = array.length;
        for(int i = 0;i<arrayLength;i++)
        {
            for(int j = 0;j<arrayLength-i-1;j++)
            {
                if(array[j]>array[j+1])
                {
                    swap(array,j,j+1);
                }
            }
        }
    }

}

运行结果:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 排序算法Java代码实现(一)—— 选择排序

    以下几篇随笔都是记录的我实现八大排序的代码,主要是贴出代码吧,讲解什么的都没有,主要是为了方便我自己复习,哈哈,如果看不明白,也不要说我坑哦!

    CherishTheYouth
  • 排序算法Java代码实现(四)—— 归并排序

    即把待排序序列分成若干个子序列,每个子序列是有序的,然后在把有序子序列合并为整体有序序列.

    CherishTheYouth
  • 排序算法Java代码实现(六)—— 堆排序

      当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。(父节点大于任何一个子节点)

    CherishTheYouth
  • java基础知识01

    正所谓万丈高楼平地起,有了扎实的基础才能进阶更深奥的课程,才能让你后面的走得更轻松,学Java亦是如此!所以千万不能忽略基础的重要性,下面一起来温习一下那些容易...

    贪挽懒月
  • 【编程基础】跟我学创建Windows动态库

    如何简单快速创建Win32平台下的动态链接库?但是有的创建出来用C/C++调用时没有问题,但是在其它编程语言调用时可能会出现问题,下面我们就按四个傻瓜式的步骤创...

    程序员互动联盟
  • 漫画:什么是选择排序?

    顾名思义,就是把每一元素和下一个元素进行比较和交换,使得较大的元素像气泡一样向右侧移动:

    小灰
  • 堆排序

    第一步堆的构建:就是将无序的元素构建成堆,这一步完成之后,元素就成为堆有序的元素。这一步骤可以通过上浮或下沉来完成。因此,当我们完成堆的构建之后,最大的元素就在...

    naget
  • 堆排序(HeapSort)之java实现

    堆是一种重要的数据结构,为一棵完全二叉树, 底层如果用数组存储数据的话,假设某个元素为序号为i(Java数组从0开始,i为0到n-1), 如果它有左子树,那么...

    MickyInvQ
  • 蛇形填数

    在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4

    书童小二
  • 将2N个整数分成两组,每组有N个数,并且满足,这两组的差的绝对值最小。

    有人提议说模拟 背包算法....背包算法大概可以表示为给你一个包,然后你让这个包尽可能的有价值,对应的就是,这个包的大小就是 sum(c)/2 (这样就可以让他...

    forxtz

扫码关注云+社区

领取腾讯云代金券