排序并查找 对数组{1,3,9,5,6,7,15,4,8}进行排序,然后使用二分查找6并 输出排序后的下标。
 
 
 
public class Demo11 {
 public static void main(String[] args) {
  int[] nums = {1,3,9,5,6,7,15,4,8};
  int temp;
  for(int i=0;i<nums.length-1;i++) {//控制轮数
   for(int j=0;j<nums.length-i-1;j++) {//控制次数
    if(nums[j]>nums[j+1]) {     
     temp=nums[j];//小的数字在前,大的数字在后
     nums[j]=nums[j+1];
     nums[j+1]=temp;
    }  
   }
  }
  for(int i=0;i<nums.length;i++){//遍历数组
   
   System.out.print(nums[i]);
   }
  System.out.println();
  //二分查找
  int num = 6;//要查找的数据
  int minIndex = 0;//最小下标
  int maxIndex = nums.length-1;//最大下标
  int centerIndex = (minIndex+maxIndex)/2;
  while(true) {
   if (nums[centerIndex]>num) {//中间数大于查找数字
   maxIndex = centerIndex-1;
   }//最大下标等于中间下标减一
   else if(nums[centerIndex]<num) {//中间数小于查找数字
    minIndex = centerIndex+1;//最小下标等于中间下标加一
    
   }else {
    break;
   }
   centerIndex = (minIndex+maxIndex)/2;//更新中间下标
  }
  System.out.println("排序后的下标为"+centerIndex);
 }
}