zoukankan      html  css  js  c++  java
  • 【Java SE】如何用Java实现冒泡排序

    摘要:

      作为一名Java开发工程师,手头如果不会几个常见的排序算法,怎么可能经过笔试题这一关呢。据我所知,许多大型的公司的笔试题都有排序题,那我们先从最简单的排序:冒泡排序开始,以后几篇博客将继续更新几种深层次的排序。

      冒泡排序的原理:他的基本原理就是和相邻的元素值进行比较(这里特指和数组比较),如果满足条件就交换元素值,把较小的元素和较大的元素交换,这样小的元素就像小气泡一样从底部上升到顶部,大的元素就像大气泡一样从顶部下沉到底部。

    1.适宜人群:有一定Java SE基础的同学,明白Java的数据类型,数组的定义、初始化以及常用数组的方法,还有Java的循环操作。

    2.前期准备:最好有一个开发工具比如说:eclipse或者myeclipse都可以,当然你使用DOS系统进行编译运行都可以,只不过改bug会麻烦一点。

    3.算法实现:

    public class BubbleSort{
        public static void main(String[] args){
            //首先创建一个无序的数组。
            int[] array = {100,120,530,1,2,48,26};//int[] array和int array[]都可以,但是推荐使用前者
            //创建冒泡排序类的对象
            BubbleSort arraySort = new BubbleSort();
            //调用排序方法将数组排序
            arraySort.sort(array);
        }
        public void sort(int[] array){
            for(int i= 1;i<array.length;i++)
            {
                //开始比较相邻元素的值,大元素下沉
                for(int j=0;j<array.length-i;j++){
                    if(array[j]>array[j+1]){
                        //满足条件就交换两个元素的值
                        int temp = array[j];
                        array[j]=array[j+1];
                        array[j+1]=temp;
                    }
                }
            }
            showArray(array);
        }
        //显示数组中的所有元素
        public void showArray(int[] array){
            //这里使用的一种不常见的foreach循环,不习惯这种写法的可以用for循环
            /*
            for(int i=0;i<array.length;i++)
            {
                System.out.print(array[i]+" ");
            }
            */
            for(int i:array)
            {
                System.out.print(i+" ");
            }
        }
    }

    4.冒泡排序的优缺点:

    优点:比较简单,空间复杂度较低,是稳定的。优点:
    缺点:时间复杂度太高,效率不好。


    5.后记:冒泡排序是排序算法的第一课,也是个人认为最容易入手的一个排序算法,后续我将为大家介绍更多实用但更复杂的排序算法。

  • 相关阅读:
    JMeter基础篇--录制web脚本(四)
    jmeter的基础使用(二)
    jmeter安装教程(一)
    delete用法(删除表内容)
    update用法(修改表内容)
    IPy对网段的处理
    netmiko
    读写conf文件
    读写json文件
    excel及数据处理
  • 原文地址:https://www.cnblogs.com/liu-en-ci/p/6772617.html
Copyright © 2011-2022 走看看