@Test
public void demo(){
int [] nums={1,3,2,5,6,8,9,10,42,3,0,7};
sort(nums);
}
public void sort(int [] nums){
System.out.println("排序前");
for (int num : nums) {
System.out.print(num+"、");
}
int temp=0;
for (int i = 0; i < nums.length-1; i++) {
for (int j = 0; j < nums.length-1-i ; j++) {
if(nums[j]>nums[j+1]){
temp=nums[j];
nums[j]=nums[j+1];
nums[j+1]=temp;
}
}
}
System.out.println("排序后");
for (int num : nums) {
System.out.print(num+"、");
}
ef(nums);
}
public void ef(int [] nums){
int key=10;
int max=nums.length-1;
int min=0;
int mid=-1;
System.out.println("\n"+"二分查找");
while (min<=max){
mid=(max+min)/2;
if(nums[mid]>key){
//说明我想要的数在左边
max=mid-1;
}else if(nums[mid]<key){
min=mid+1;
}else if(nums[mid]==key){
break;
}
}
if(min>max){
System.out.println("这个数不存在数组中");
}else{
System.out.println("这个数存在数组中的第"+mid+"个");
}
}
09-06
1万+
07-05
9839
02-28
7万+
04-10
3895
01-25
04-01
3万+
09-02
4万+
05-25