Java 常用排序

Posted wlytctw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 常用排序相关的知识,希望对你有一定的参考价值。

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);
    



以上是关于Java 常用排序的主要内容,如果未能解决你的问题,请参考以下文章

Java 常用排序

java常用八大排序法

Java常用排序算法/程序员必须掌握的8大排序算法

图解程序员必须掌握的Java常用8大排序算法

Java 常用排序算法/程序员必须掌握的 8大排序算法

Java学习笔记之十一Java中常用的8大排序算法详解总结