Java 常用排序

来源:互联网 发布:淘宝阿里巴巴男士秋装 编辑:程序博客网 时间:2024/05/21 13:58

Java 常用排序,习惯规则的使用“从小到小”后者从“从大到小”进行数组的相关排序!为了方面应用直接采取工具类的方式来抽取相关方法。
以下列出常用的排序方式:
需要补充说明的是:排序是一种算法,希尔排序是排序最快的,运算最快的,效率最高的!

public class SortOperation {    /**     * 选择排序     * 拿到数组的第0个元素,依次为之后的元素进行对比     * 第一次排序结束之后,拿数组的第1个元素依次对比(第0个元素除外)     * @param data     */    public void selectSort(int[] data) {        for (int i = 0; i < data.length - 1; i++) {            for (int j = i + 1; j < data.length; j++) {                if (data[i] > data[j]) {                    int temp = data[i];                    data[i] = data[j];                    data[j] = temp;                }            }        }        System.out.println("选择排序的结果值:");        for (int i = 0; i < data.length; i++) {            System.out.print(data[i] + "、");        }    } /**     * 冒泡排序     *     * @param data     */    public void bubbleSort(int[] data) {        for (int i = 0; i < data.length - 1; i++) {            for (int j = 0; j < data.length - i - 1; j++) {                if (data[j] > data[j + 1]) {                    int temp = data[j];                    data[j] = data[j + 1];                    data[j + 1] = temp;                }            }        }        System.out.println("冒泡排序的结果值:");        for (int i = 0; i < data.length; i++) {            System.out.print(data[i] + "、");        }    }  /**     * 折半查找法     *     * @param key     * @param data     */    public static int biSearch(int key, int[] data) {        int start = 0;        int end = data.length - 1;        int center = (start + end) >> 1;  //  ">>1" 代表 "/2"        while (data[center]!= key) {            if (key > data[center]) {                start = center + 1;            } else if (key < data[center]) {                end = center - 1;            }            if (start > end) {   // key 大于 数组中的任何一个 元素的时候,使用 -1 来标示                return -1;            }            center = (start + end) >> 1;        }        return center;    }}/** *测试类 */public class MyClass {    private static int []data = {5, 3, 4, 1, 0, 2, 12,};    private static int b[] = {1, 3, 4, 45, 50, 52, 62,};    public static void main(String args[]) {        SortOperation operation = new SortOperation();//        operation.selectSort(data);        operation.bubbleSort(data);         int index = operation.biSearch(320,b);        System.out.println("下标:"+index);    }}
0 0
原创粉丝点击