数据结构2:数组排序专题

来源:互联网 发布:windows不能切换到mac 编辑:程序博客网 时间:2024/06/05 10:29

冒泡排序算法:

package ch02;public class BubbleSort {    public static void sort(long[] arr) {        long tmp = 0;        for(int i = 0; i < arr.length - 1; i++) {            for(int j = arr.length - 1; j > i; j--) {                if(arr[j] < arr[j - 1]) {                    //进行交换                    tmp = arr[j];                    arr[j] = arr[j - 1];                    arr[j - 1] = tmp;                }            }        }    }}

插入排序算法:

package ch02;public class InsertSort {    public static void sort(long[] arr) {        long tmp = 0;        for(int i = 1; i < arr.length; i++) {            tmp = arr[i];            int j = i;            while(j > 0 && arr[j] >= tmp) {                arr[j] = arr[j - 1];                j--;            }            arr[j] = tmp;        }    }}

选择排序算法:

package ch02;public class SelectionSort {    public static void sort(long[] arr) {        int k = 0;        long tmp = 0;        for(int i = 0; i < arr.length - 1; i++) {            k = i;            for(int j = i; j < arr.length; j++) {                if(arr[j] < arr[k]) {                    k = j;                }            }            tmp = arr[i];            arr[i] = arr[k];            arr[k] = tmp;        }    }}