JAVA冒泡与选择排序,折半查找
2016-09-21 09:58
330 查看
冒泡集和式:
冒泡数组式:
选择集和式:
选择数据式:
折半查找
/** * 取得的值标为MAX,并将其与IN进行交换,结束一次,进行n-1轮排序后,所得的结果 * * 冒泡排序:假设有n条数据,则从第0个开始,依次比较第0个和第1个数据 * 如果第0个小于第一个数据,则两者交换,否则什么都不做,继续比较第一个和第二个 * 依次类型,直到所有数据都冒泡到数据顶上 * * 写排序的时候:1.确定排序规则 * 2.确定计算规则 */ ArrayList<Integer> oList=new ArrayList<Integer>(); oList.add(3); oList.add(5); oList.add(8); oList.add(7); oList.add(9); oList.add(6); oList.add(2); oList.add(1); oList.add(0); System.out.println(oList); for (int i = 0; i < oList.size(); i++) { for (int j = 0; j < oList.size()-i-1; j++) { if (oList.get(j)<oList.get(j+1)) { int temp=oList.get(j); oList.set(j, oList.get(j+1)); oList.set(j+1, temp); } } } System.out.println(oList);
冒泡数组式:
public static void maopao(int[] arr){ for(int i=0;i<arr.length;i++) { for(int j=0;j<arr.length-i-1;j++) { if(arr[j]>arr[j+1]) { int temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } }
选择集和式:
/* for (int i = 0; i <oList.size()-1; i++) { int max=oList.get(i);//第一轮获取第n个,接下来去第n+1个到oList.size()-1个 int k=-1;//记录该轮最大值的角标 //获取当前轮最大值 for (int j = i+1; j < oList.size(); j++) { if (max<oList.get(j)) {//比较该轮所有的值,取最大的值 max=oList.get(j); k=j; } } if (k!=-1) { oList.set(k, oList.get(i));//把i角标的值赋给最大值的角标 oList.set(i, max);//把最大值赋值给角标为i的位置 } } for (int i = 0; i < oList.size(); i++) { System.out.print(oList.get(i)+","); }*/
选择数据式:
public static void PaiMax(int[] arr) { for(int i=0;i<arr.length-1;i++) { for(int j=i+1;j<arr.length;j++) { if(arr[i]>arr[j])//arr[i]<arr[j] { int temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } } }
折半查找
/** * 折半查找:强列推荐这样写 * 需求:将一个随机数字插入到有序数组中,问该插入到哪个位置? */ public static int halfSearch_2(int[] arr,int key) { int min=0; int max=arr.length-1; int mid=(min+max)/2; while (min<=max) { mid=(min+max)/2; if (arr[mid]>key) { max=mid-1; }else if (arr[mid]<key) { min=mid+1; }else { return mid; } } return min; }
相关文章推荐
- java:四种int【】数据排序,冒泡,插入,选择,快速排序
- (转) Java 数组排序总结 ( 冒泡,选择,插入,希尔)
- Java数组排序总结(冒泡,选择,插入,希尔)
- JAVA中的两种典型排序,选择和冒泡
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,快速排序
- Java数组排序(冒泡,选择,插入,希尔)
- Java实现数组排序总结篇(冒泡,选择,插入,希尔)
- Java数组排序总结(冒泡,选择,插入,希尔)
- 经典排序之选择、冒泡、插入排序与系统排序的用时比较(Java)
- 排序算法复习(Java实现):插入,冒泡,选择,Shell,快速排序, 归并排序,堆排序,桶式排序,基数排序
- 【转】排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 冒泡和选择排序java程序
- Java-数组排序(选择,冒泡,插入)
- java实现冒泡,插入,选择排序
- java:三种经典大排序汇总,冒泡,插入,选择
- 插入,冒泡,选择,快速排序,二分查找(Java版)
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- Java数组排序总结(冒泡,选择,插入,希尔)
- java冒泡_选择_插入三大排序
- Java数组排序总结(冒泡,选择,插入,希尔)