java 折半查找 冒泡排序 选择排序
来源:互联网 发布:matlab软件有多大 编辑:程序博客网 时间:2024/06/08 09:49
更多查找可以参考 http://www.cnblogs.com/liuling/p/2013-7-24-01.html 这是别人的资源,感觉写的很全。可以仔细研究一下。/*使用折半查找的前提是数据是有序(升序)的。*/class HalfSearchDemo {public static void main(String[] args) {int[] arr={1,2,3,6,2,3,5,1,8,9,3,5,2};sop("关键字的位置:"+halfSearch_2(arr,6));System.out.println("Hello World!");}public static int halfSearch_2(int[] arr,int key){SearchSort(arr);int max=arr.length-1,min=0,mid;while(min<=max){//注意是"<="mid=(min+max)/2;if(key>arr[mid])min=mid+1;else if(key<arr[mid])max=mid-1;elsereturn mid;}return -1;}public static void PubbleSort(int[] arr) //冒泡排序,首先确定最后一个位置上的元素{for(int i=0;i<arr.length-1;i++){for(int j=0;j<arr.length-1-i;j++){if(arr[j]>arr[j+1]){int temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}for(int k=0;k<arr.length;k++)sop(arr[k]);}public static void SearchSort(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]){int temp=arr[i];arr[i]=arr[j];arr[j]=temp;}}}for(int k=0;k<arr.length;k++)sop(arr[k]);}public static void sop(Object obj){System.out.println(obj);}}
//下面是折半查找的另一种表现形式:
public static int halfSearch(int[] arr,int key){SelectSort(arr);int max=arr.length-1;int min=0;int mid=(max+min)/2;while(arr[mid]!=key){if(key>arr[mid])min=mid+1; if(key<arr[mid])max=mid-1;if(min>max)return -1;//找不到目标元素mid=(max+min)/2;}return mid;//跳出循环后,表明已经找到目标元素,此时返回目标元素的index。}
0 0
- java 折半查找 冒泡排序 选择排序
- JAVA冒泡与选择排序,折半查找
- JAVA冒泡与选择排序,折半查找
- 选择-冒泡排序,折半查找
- Java基础—选择排序,冒泡排序和折半查找
- java基础 选择排序、冒泡排序、折半查找法
- 冒泡排序 & 选择排序 & 折半查找
- 冒泡排序 选择排序 折半查找
- java-数组静态初始化、选择排序、冒泡排序、数组的折半查找、折半查找练习
- java冒泡,选择排序及折半(二分)查找
- 选择,冒泡排序,折半查找,插入
- C 【冒泡 选择排序 & 折半查找】
- 选择,冒泡,插入排序,折半查找
- 折半查找,冒泡排序
- 冒泡、选择、折半排序
- 黑马程序员 03选择排序,冒泡排序,折半查找
- 冒泡排序,选择排序,折半查找代码小解
- C语言---算法(选择排序/冒泡排序/折半查找/进制查表法)
- 基于c++的ostu算法的实现
- Android事件学习总结
- Activity
- 简单的网络状态监听
- scala学习笔记4
- java 折半查找 冒泡排序 选择排序
- 走走停停的日子,不要忘了努力,也不要忘了方向
- Swift-类和结构体(Class and Structures)(八)
- Android 自封装的各种类
- 解决cocoapods diff: /../Podfile.lock: No such file or directory
- Android--百度地图开发(二)
- NYOJ 38 布线问题
- 终端利器 - tmux配置与使用
- BZOJ4385: [POI2015]Wilcze doły