常用排序算法总结

173 阅读1分钟

排序算法

1.冒泡排序 2.鸡尾酒排序 3.选择排序 4.插入排序 5.二分插入排序 6.希尔排序 7.归并排序 8.堆排序 9.快速排序

冒泡排序

重复遍历要排序的元素,依次比较相邻两个元素,如果他们的顺序错误就进行交换,直到没有元素再需要交换,排序完成。

/*
冒泡排序
从小到大排序
 */
public class BubbleSort {
    //打印数组
    public static void printArr(int[] arr){
        for(int temp:arr){
            System.out.print(temp +" ");
        }
        System.out.println();
    }
    //交换数组元素
    public static void swapArr(int[] arr,int i,int j){
        int temp=arr[i];
        arr[i]=arr[j];
        arr[j]=temp;
    }
    //冒泡排序
    public static void bubbleSort(int[] arr){
        for(int i=0;i<arr.length-1;i++){
            for(int j=0;j<arr.length-i-1;j++){
                if(arr[j]>arr[j+1]){
                    swapArr(arr,j,j+1);
                }
            }
        }
    }
    //主方法
    public static void main(String[] args){
        int[] arr={6,5,3,1,8,7,2,4};//数组初始化
        System.out.print("原始数组元素");
        printArr(arr);//打印原数组
        System.out.print("排序后数组元素");
        bubbleSort(arr);//冒泡排序
        printArr(arr);//打印排序后数组
    }
}