java---三种排序的方法
2017-11-24 11:03
351 查看
直接排序 public class Demo7 { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr = new int[]{2,5,6,7,1,3}; prin(arr); selectSort(arr); } public static void selectSort(int [] arr){ for(int x=0;x<arr.length;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; } } } prin(arr); } public static void prin(int [] arr){ for(int i=0;i<arr.length;i++){ System.out.print(arr[i] + " "); } System.out.println(); } } 冒泡排序 /* 冒泡排序。 比较方式:相邻两个元素进行比较。如果满足条件就进行位置置换。 原理:内循环结束一次,最值出现在尾角标位置。 */ public static void bubbleSort(int[] arr) { for(int x=0; x<arr.length-1; x++) { for(int y=0; y<arr.length-x-1; y++)//-x:让每次参与比较的元减。 //-1:避免角标越界。 { if(arr[y]>arr[y+1]) { int temp = arr[y]; arr[y] = arr[y+1]; arr[y+1] = temp; } } } } 折半查找(二分法): /* 为了提高查找效率,可使用折半查找的方式,注意:这种查找只对有序的数组有效。 这种方式也成为二分查找法。 */ public static int halfSeach(int[] arr,int key) { int min,mid,max; min = 0; max = arr.length-1; mid = (max+min)/2; while(arr[mid]!=key) { if(key>arr[mid]) min = mid + 1; else if(key<arr[mid]) max = mid - 1; if(min>max) return -1; mid = (max+min)/2; } return mid; }
腾不出时间思考的人,迟早会腾出时间来后悔;腾不出时间学习的人,迟早会腾出时间来伤悲。
相关文章推荐
- java数组中的三种排序方法中的冒泡排序方法
- 三种方法对java数组排序
- 字符排序 java HashSet去重与遍历的三种方法
- Java实现对map或hashmap排序的三种方法或思路
- java中的三种排序方法使用:选择排序,冒泡排序,sort方法排序。
- Java 数组排序三种方法
- JAVA4——数组的实现及数组的三种排序方法实现
- java三种排序(冒泡,选择,方法sort)
- 【转】Java中各种排序方法
- java定时执行任务的三种方法
- java的各种排序方法..
- java的各种排序方法
- java的各种排序方法..
- java的各种排序方法..
- Java解析网络数据流的三种特殊方法
- 使用Java解析网络数据流的三种特殊方法
- java的各种排序方法..
- java的各种排序方法(转)
- DataGrid常用三种方法:分页,排序,后绑定
- Java解析网络数据流的三种特殊方法