您的位置:首页 > 其它

二分法 冒泡

2016-01-26 05:28 232 查看
二分法

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){
// 开始下标0
int 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;}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: