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中如何对数组进行从小到大的排序的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Java 8引入了Stream API,提供了一种强大且表达力丰富的处理数据集合的方式。然而,使用Stream时,一个常见问题是:如何从forEach操作中中断或返回? 传统循环允许提前中断或返回,但Stream的forEach方法并不直接支持这种方式。本文将解释原因,并探讨在Stream处理系统中实现提前终止的替代方法。 延伸阅读: Java Stream API改进 理解Stream forEach forEach方法是一个终端操作,它对Stream中的每个元素执行一个操作。它的设计意图是处

胶囊是一种三维几何图形,由一个圆柱体和两端各一个半球体组成。胶囊的体积可以通过将圆柱体的体积和两端半球体的体积相加来计算。本教程将讨论如何使用不同的方法在Java中计算给定胶囊的体积。 胶囊体积公式 胶囊体积的公式如下: 胶囊体积 = 圆柱体体积 两个半球体体积 其中, r: 半球体的半径。 h: 圆柱体的高度(不包括半球体)。 例子 1 输入 半径 = 5 单位 高度 = 10 单位 输出 体积 = 1570.8 立方单位 解释 使用公式计算体积: 体积 = π × r2 × h (4

Java是热门编程语言,适合初学者和经验丰富的开发者学习。本教程从基础概念出发,逐步深入讲解高级主题。安装Java开发工具包后,可通过创建简单的“Hello,World!”程序实践编程。理解代码后,使用命令提示符编译并运行程序,控制台上将输出“Hello,World!”。学习Java开启了编程之旅,随着掌握程度加深,可创建更复杂的应用程序。
