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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 唐志远 初级黑马   /  2014-3-28 11:07  /  1063 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

用第一种查找的方式首先要考虑 数组必须是有序的。

1,折半查找
                     public static int getIdex(int [] arr,int key)
              {
                int min=0,max=arr.length-1,mid=(min+max)/2;
                        while (min<=max)
                        {       
                        if (arr[mid]>key)
                        {
                                mid+=mid;
                        }
                        else if(arr[mid]<key)
                                mid-=mid
                        else
                                return mid;
                        }
       
                        return -1;
                                      }
2一般的查找方式
public static int getIndex(int []arr,int k){


for(int i=0;i<arr.length;i++){
       
        if(arr[i]!=k){
                      if(i=arr.length-1)
                                     return -1;
                        else
                                continue;
                                       }
        else
                return i;
}

}

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马