A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class Arr//定义一个类
{
public static void bubblesout(int[] arr)//定义循环
{
        for(int x=0;x<arr.length;x++)
         {
            for(int i=x+1;i<arr.length;i++)
             {
               if(arr[x]>arr[i])
                {
                  int temp=arr[x];
                  arr[x]=arr[i];
                  arr[i]=temp;
                }
             }
        System.out.println("arr["+x+"]="+arr[x]);       
         }
}
public static void pointarray(int[] arr)//定义打印方式
{
        System.out.println("[");
        for(int x=0;x<arr.length;x++)
        {
          if(x<arr.length-1)
          {
            System.out.println("arr["+x+"]="+arr[x]);
          }  
        }
        System.out.println("]");
}
public static int halfseaurch(int[] arr,int x)//定义折中查询
{      
                int maxIndex = arr.length - 1;// 定义最大索引
        int minIndex = 0;// 定义最小索引
        int midIndex = (maxIndex + minIndex) / 2;// 定义中间索引

        while(arr[midIndex]!=x)
{
                     
        if (arr[midIndex] > x)
        {
           maxIndex = midIndex - 1;
        }
           else if (arr[midIndex] <x)
        {
           minIndex = midIndex + 1;
        }

        // 如果数据不存在。
         if (minIndex > maxIndex)
        {
           return -1;
        }

        // 下一次二分查找开始
        midIndex = (maxIndex + minIndex) / 2;
}
              return midIndex;
}
public static void main(String[] args)//主函数输出
{

        int[] arr={1,6,8,5,2,9};       
               

        pointarray(arr);
        System.out.println(arr);//排序前输出数组       
       
        bubblesout(arr);
        System.out.println(arr);//排序后输出数组

        int mid=halfseaurch(arr,1);
        System.out.println("mid="+mid);//查找排序后数组的任意一角标数
}
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马