数组排序算法之冒泡排序

版权声明:未经博主同意不得转载 https://blog.csdn.net/huang_qiang123/article/details/82913238

一、基本思想

冒泡排序的基本思想就是对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组的前面,把大的元素移动到数组后面(也就是交换两个元素的位置),这样较小的元素就像气泡一样从底部上升到顶部了。

二、算法实现

package cn.szxy.hq;

/**
 * Created by HQ on 2018/9/30.
 */
public class BubbleSort {
    /**
     *
     * @param args
     */
    public static void main(String[] args) {
        int[] array={12,78,22,63,65,40,23};
        BubbleSort bubbleSort=new BubbleSort();
        System.out.println("排序前:");
        bubbleSort.showArray(array);
        bubbleSort.sort(array);
        System.out.println("排序后:");
        bubbleSort.showArray(array);
    }


    /**
     * 冒泡排序
     * @param 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;    //把临时变量(也就是第一个元素的值)保存到第二个元素中
                }
            }
        }

    }

    /**
     * 显示数组中的元素
     * @param array
     */
    public void showArray(int[] array){
        for(int i:array){   //遍历数组
            System.out.print(i+" ");    //输出每一个元素的值
        }
        System.out.println();
    }
}

三、运行结果

猜你喜欢

转载自blog.csdn.net/huang_qiang123/article/details/82913238