JAVA中的排序算法及代码实现
2013-04-28 21:07
627 查看
JAVA中数组的排序有很多种方法,比如选择排序,冒泡排序,选择排序以及Arrays工具类中的sort方法。数组排序的代码写出来是非常简单的,但是我们需要的是掌握其中的编程思想,后面很多复杂的编程思想都是由简单的演绎过来的。
1.选择排序
2.冒泡排序
3.快速排序
4.二分查找法
5. 数组反转
1.选择排序
private static void selectArray(int[] arr) { for(int x=0;x<arr.length-1;x++){ for(int y=x+1;y<arr.length;y++){ if(arr[x]>arr[y]){ int temp =arr[x]; arr[x]=arr[y]; arr[y]=temp; } } } }
2.冒泡排序
private static void bubbleSort(int[] arr) { for(int x=0;x<arr.length-1;x++){ for(int y=0;y<arr.length-1-x;y++){ if(arr[y]>arr[y+1]){ int temp=arr[y]; arr[y]=arr[y+1]; arr[y+1]=temp; } } } }
3.快速排序
private static void fastSort(int[] arr) { for(int x=0;x<arr.length-1;x++){ int min=arr[x]; int index=x; for(int y=x+1;y<arr.length;y++){ if(min>arr[y]){ min =arr[y]; index=y; } } int temp =arr[x]; arr[x]=arr[index]; arr[index]=temp; } }
4.二分查找法
private static int binarySearch(int[] arr, int i) { int start=0; int end =arr.length-1; int mid =0; while(start<=end){ mid=(start+end)/2; if(i>arr[mid]){ start=mid+1; }else if(i<arr[mid]){ end=mid-1; }else{ return mid; } } return -1; }
5. 数组反转
private static void reverseArray(int[] arr) { for(int start=0,end=arr.length-1;start<end;start++,end--){ int temp =arr[start]; arr[start]=arr[end]; arr[end]=temp; } }
相关文章推荐
- 算法代码实现之三向切分快速排序,Java实现
- 排序与查找简单算法 java代码实现
- 经典内部排序算法学习总结(算法思想、可视化、Java代码实现、改进、复杂度分析、稳定性分析)
- 算法代码实现之快速排序,Java实现
- 算法 -- Java实现选择排序(图解 + 代码实现)
- 算法与数据结构-排序 讲解与java代码实现
- 算法代码实现之选择排序,Java实现
- 两个有序数组的合并排序,Java代码实现,并去重复,考虑空间利用率问题
- 用Java 编一段代码,实现在控制台输入一组数字后,排序后在控制台输出
- 深入解析堆排序的算法思想及Java代码的实现演示
- 用JAVA实现排序算法之一:冒泡排序
- 1.桶排序——啊哈算法java实现
- 必须知道的八大种排序算法【java实现】(二) 选择排序,插入排序,希尔算法【详解】
- 抢红包的红包生成算法Java实现代码
- 八大经典排序算法基本思想及代码实现(Python、C++)
- 算法:二叉树的先(根)序遍历、中(根)序遍历、后(根)序遍历(递归及压栈出栈实现的非递归方式)的java代码实现
- java实现 排序算法之直接插入排序
- 负载均衡的几种算法Java实现代码
- 插入排序算法---java 实现
- 排序技术_各种算法原理 图解 代码实现