课本上的算法,我稍加改动,带了测试语句和主函数。
//查找算法
public class Search{
public int shunXuSearch(int arr[],int key){
int i;
int m=1;
for( i=0;i<=arr.length;i++){
System.out.println("程序运算了"+m+"次");
m++;
if(key==arr[i])
break;
}
return i;
}
public int binarySearch(int arr[],int key){
int m=1;
int low=0;
int heigh= arr.length;
while(low<=heigh){
int mid= (low+heigh)/2;
if(arr[mid]==key)
return mid;
else if(key>mid)
low=mid+1;
else
heigh=mid-1;
System.out.println("程序运算了"+m+"次");
m++;
}
return -1;
}
public static void main(String args[]){
int arry[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
Search s=new Search();
System.out.println("顺序查找算法结果:");
System.out.println(s.shunXuSearch(arry,7));
System.out.println(s.binarySearch(arry,7));
}
}
Tags -
算法
文章来源:
http://www.tt-shopping.com/kevinlau/read.php/88.htm