Java常见排序,冒泡、选择、插入、快排

package sort;

public class MySort {
    private int[] array;
    private int length;

    /**
     * 构造函数
     * @param array
     */
    public MySort(int[] array){
        this.array = array;
        this.length = array.length;
    }

    /**
     * 打印数组中数据
     */
    public void display(){
        for(int i : array){
            System.out.print(i+" ");
        }
        System.out.println();
    }

    public static void main(String[] args){
        int[] array = {77,44,11,23,45,90,43,65,7,89,42,29,28,36,33,25,10,10,33,100};
//        int[] array = {77,44,11,23,45,90,43,65,7};
        MySort mySort = new MySort(array);
        System.out.println("排序前的数据为:");
        mySort.display();
        mySort.quickSort(0,array.length - 1);
        System.out.println("排序后的数据为:");
        mySort.display();
    }

    /**
     * 冒泡排序
     */
    private void bobSort() {
        for(int i = 0 ; i < array.length - 1 ; ++ i ){
            for (int j = i + 1 ; j < array.length ; ++j ){
                if(array[i] > array[j]){
                    int t = array[i];
                    array[i] = array[j];
                    array[j] = t;
                }
            }
        }
    }

    /**
     * 选择排序
     */
    private void selectSort() {
        for (int i = 0; i < array.length - 1; ++i) {
            int minIndex = i;
            for (int j = i + 1; j < array.length; ++j) {
                if (array[minIndex] > array[j]) {
                    minIndex = j;
                }
            }
            int t = array[i];
            array[i] = array[minIndex];
            array[minIndex] = t;

        }
    }

    /**
     * 插入排序
     */
    private void insertSort(){
        for (int i = 1 ; i < array.length ; ++ i){
            int temp = array[i];
            int leftIndex = i - 1;
            while ( leftIndex >= 0 && array[leftIndex] > temp ){
                array[leftIndex+1] = array[leftIndex];
                --leftIndex;
            }
            array[leftIndex+1] = temp;
        }
    }
    /**
     * 快速排序
     */
    private void quickSort(int low ,int high){
        if(low >= high){
            return ;
        }
        int left = low;
        int right = high;
        int temp = array[left];
        int t;
        while (left < right){
            //从右往左
            while( temp <= array[right] && left < right){
                -- right ;
            }
            //从左往右
            while ( temp >= array[left] && left < right){
                ++ left;
            }
            if(left < right){
                t = array[left];
                array[left] = array[right];
                array[right] = t;
            }
        }

        array[low] = array[left];
        array[left] = temp;
        quickSort(low,left - 1);
        quickSort(left + 1,high);

    }
}
weixin151云匹面粉直供微信小程序+springboot后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值