冒泡排序

来源:互联网 发布:js 反混淆 在线 编辑:程序博客网 时间:2024/06/18 07:28

三、冒泡排序
1.算法思想:通过相邻两元素的比较,将最大或最小值移到最前面(从最后一个元素开始比较)。
注:将最大或最小值移到最后面是从第一个元素开始比较。
2.代码实现:

import java.util.Arrays;public class BubbleSort {    public static void bubbleSort(int[] array,int n){        int i,j;        boolean tag=true;//用来标识一次遍历中是否有元素的交换        for(i=0;tag && i<n-1;i++){            tag=false;            for(j=n-1;j>i;j--){                if(array[j]>array[j-1]){                    //交换                    int t=array[j];                    array[j]=array[j-1];                    array[j-1]=t;                    tag=true;                }            }            if(!tag) break;        }    }    public static void main(String[] args){        int []array={4,7,3,2,8,6,9,5};        bubbleSort(array,array.length);        System.out.println(Arrays.toString(array));    }}

3.时间复杂度:O(n^2)
4.空间复杂度:O(1)
5.一种稳定的排序算法