Java中运用数组的四种排序方法
来源:互联网 发布:满语翻译软件 编辑:程序博客网 时间:2024/05/16 06:54
JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。下面我们来了解一下。
JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。
快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。
冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。
选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。
插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。下面我就将他们的实现方法一一详解供大家参考。
<1>利用Arrays带有的排序方法快速排序
public class Test { public static void main(String[] args) { int[] a = { 5, 4, 2, 4, 9, 1 }; Arrays.sort(a); // 进行排序 for (int i : a) { System.out.print(i); } }}
<2>冒泡排序算法
public static int[] bubbleSort(int[] args) {// 冒泡排序算法 for (int i = 0; i < args.length - 1; i++) { for (int j = i + 1; j < args.length; j++) { if (args[i] > args[j]) { int temp = args[i]; args[i] = args[j]; args[j] = temp; } } } return args; }
<3>选择排序算法
public static int[] selectSort(int[] args) {// 选择排序算法 for (int i = 0; i < args.length - 1; i++) { int min = i; for (int j = i + 1; j < args.length; j++) { if (args[min] > args[j]) { min = j; } } if (min != i) { int temp = args[i]; args[i] = args[min]; args[min] = temp; } } return args; }
<4>插入排序算法
public static int[] insertSort(int[] args) {// 插入排序算法 for (int i = 1; i < args.length; i++) { for (int j = i; j > 0; j--) { if (args[j] < args[j - 1]) { int temp = args[j - 1]; args[j - 1] = args[j]; args[j] = temp; } else break; } } return args; }
以上就是java中的四种排序方法。不同的方法效率不一样,下面是不同的算法的比较和数据交换时的大O表示。
冒泡排序:比较O(N2) 数据交换O(N2)
选择排序:比较O(N2) 数据交换O(N)
插入排序:比较O(N2) 复制数据O(N)
在实际应用中,我们要尽量选择效率高的算法
0 0
- JAVA中运用数组的四种排序方法
- JAVA中运用数组的四种排序方法
- JAVA中运用数组的四种排序方法
- JAVA中运用数组的四种排序方法
- JAVA中运用数组的四种排序方法
- JAVA中运用数组的四种排序方法
- JAVA中运用数组的四种排序方法
- JAVA中运用数组的四种排序方法
- JAVA中运用数组的四种排序方法
- JAVA中运用数组的四种排序方法
- JAVA中运用数组的四种排序方法
- JAVA中运用数组的四种排序方法
- JAVA中运用数组的四种排序方法
- JAVA中运用数组的四种排序方法
- JAVA中运用数组的四种排序方法
- JAVA中运用数组的四种排序方法
- Java中运用数组的四种排序方法
- Java中运用数组的四种排序方法
- Android 磁盘缓存 DiskLruCache
- PHP中读取(截取substr)字符串前N个字符或者从第几个字符开始取几个字符
- Eclipse中Outline里各种图标的含义
- redhat系统安装scrapy爬虫框架步骤Python版
- 仓储模式
- Java中运用数组的四种排序方法
- Dagger2 使用继承方式,简化Component获取
- 欢快的使用Unity JSON吧
- 记录学习的点滴(Mybatis配置注册Mapper的方式)
- 使用Messenger实现进程间通信(IPC)
- [从头学绘画] 第38节 跆拳道二十四品势之9-忠武
- ThinkPHP 3.2 简单操作 Redis
- MP4 和 mp4v2lib的使用 和 分析器
- SQL 左外连接,右外连接,全连接,内连接