数组的从小到大排列(从大到小)

本文提供了一个使用Java实现的简单数组排序算法示例。通过双重循环遍历数组元素,并利用条件判断进行元素交换来实现升序排列。最终,程序将排序后的数组元素输出。
int array[] = {25,13,89,34,1,74,56}; for(int i = 0 ; i < array.length ; i ++) { for(int j = i +1 ; j < array.length ; j ++) { if(array[i] > array[j]) { int temp = array[i]; array[i] = array[j]; array[j] = temp; } } } for(int i = 0 ; i < array.length ; i ++) { System.out.print(" "+array[i]+" "); }

转载于:https://www.cnblogs.com/redrian/p/9492710.html

数组从小到大排序有很多种常见的方式,以下是几种常见的算法: 1. **冒泡排序(Bubble Sort)**:通过多次遍历数组,每次比较相邻元素并交换位置,较的元素逐渐“浮”到数组顶部。时间复杂度为O(n^2)。 2. **选择排序(Selection Sort)**:每次从未排序的部分找到最小元素,放到已排序部分的末尾。也是O(n^2)的时间复杂度。 3. **插入排序(Insertion Sort)**:对于每个元素,将其插入到已排序部分的正确位置。适合小规模数据或部分有序的数据,平均时间复杂度也是O(n^2)。 4. **快速排序(Quick Sort)**:基于分治策略,通常选择第一个元素作为基准值,将数组分为两部分,一部分的所有元素都小于基准,另一部分所有元素都于或等于基准,然后递归地对这两部分进行排序。平均时间复杂度为O(n log n),但在最坏情况下为O(n^2)。 5. **归并排序(Merge Sort)**:采用分治思想,将数组不断二分,直到每个子数组只有一个元素,然后再合并,保证排序稳定性。时间复杂度始终为O(n log n)。 6. **堆排序(Heap Sort)**:利用堆这种数据结构进行排序,堆是一个完全二叉树,可以保证最堆或最小堆性质。时间复杂度为O(n log n)。 每种算法的选择取决于实际需求、数据规模以及是否允许原地排序等条件。在Python中,你可以使用内置函数`sorted()`或者列表的sort()方法进行排序,它们会自动应用高效的内部排序算法。例如: ```python arr = [3, 1, 4, 1, 5, 9] arr.sort() # 使用Python内置排序 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值