文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

JAVA中数组怎么从小到大排序

2023-07-05 18:55

关注

本篇内容介绍了“JAVA中数组怎么从小到大排序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

快速排序

快速排序是一种比较高效的排序算法,采用“分而治之”的思想,通过多次比较和交换来实现排序,在一趟排序中把将要排序的数据分成两个独立的部分,对这两部分进行排序使得其中一部分所有数据比另一部分都要小,然后继续递归排序这两部分,最终实现所有数据有序。

public static void quickSort(int[] arry,int left,int right){        //运行判断,如果左边索引大于右边是不合法的,直接return结束此方法        if(left>right){            return;        }        //定义变量保存基准数(第一次进入方法最左边的数字下标为0)        int base = arry[left];        //定义变量i,指向最左边        int i = left;        //定义j ,指向最右边(第一次进入方法最右边数字下标为数组的长度减1)        int j = right;        //当i和j不相遇的时候,再循环中进行检索        while(i!=j){            //先由j从右往左检索比基准数小的,如果检索到比基准数小的就停下。            //如果检索到比基准数大的或者相等的就停下            while(arry[j]>=base && i<j){                j--; //j从右往左检索            }            while(arry[i]<=base && i<j){                i++; //i从左往右检索            }            //代码走到这里i停下,j也停下,然后交换i和j位置的元素            int tem = arry[i];            arry[i] = arry[j];            arry[j] = tem;        }        //如果上面while条件不成立就会跳出这个循环,往下执行        //如果这个条件不成立就说明 i和j相遇了        //如果i和j相遇了,就交换基准数这个元素和相遇位置的元素        //把相遇元素的值赋给基准数这个位置的元素        arry[left] = arry[i];        //把基准数赋给相遇位置的元素        arry[i] = base;        //基准数在这里递归就为了左边的数比它小,右边的数比它大        //排序基准数的左边        quickSort(arry,left,i-1);        //排右边        quickSort(arry,j+1,right);    }     public static void main(String[] args) {        int[] arry = {11,81,71,61,10,42,33,24,99};        System.out.println("arry排序前:"+Arrays.toString(arry));        quickSort(arry,0, arry.length-1);        System.out.println("arry排序后:"+Arrays.toString(arry));    }

冒泡排序

public static void main(String[] args) {        int[] arr = {18,13,50,15,4,17,18};         System.out.println("arr的排序前:\n18  13  50  15  4  17  18 ");         int temp  = 0 ;        for(int i = 0 ;i< arr.length -1; i++){            for(int j = 0; j<arr.length-1-i; j++){                if(arr[j]>arr[j+1]){                    //条件成立 交换位置                    temp = arr[j];                    arr[j] = arr[j+1];                    arr[j+1] = temp;                }            }         }        System.out.println("arr排序后:");         for(int i = 0; i<arr.length; i++){             System.out.print(arr[i]+"\t");        }    }

“JAVA中数组怎么从小到大排序”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯