二分法 冒泡

来源:互联网 发布:项目数据库设计 编辑:程序博客网 时间:2024/06/05 13:30

二分法

public class MyArrays{public static void main(String[] args){int[] a = {1,3,4,5,7,8,9,10,23,25,29};// 取得23在数组中的位置int flag = 53;int index = binarySearch(a,flag);if(index != -1){System.out.println("取得数组中"+flag+" 的下标为:" + index);} else {System.out.println("该值:"+flag+" 在数组中不存在 !");}}// 采用二分法查找,必须建立在排序的基础之上public static int binarySearch(int[] a,int flag){// 开始下标0int beginPos = 0;// 结束下标int endPos = a.length - 1;while(beginPos <= endPos){int midPos = (beginPos + endPos) / 2;if(flag == a[midPos]){return midPos;} else if(flag > a[midPos]){beginPos = midPos + 1;} else if(flag < a[midPos]){endPos = midPos - 1;}}return -1;}}
冒泡

public static void sort(Object []arr){boolean sorted=true;int len= arr.length;for(int i =0;i<len-1;i++){sorted=true;for(int j =0;j<len-i-1;j++){if((Comparable)arr[j].compareTo(arr[j+1])<0){Object  temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;sorted=false;}}}if(sorted){break;}}



0 0
原创粉丝点击