查找

1.   线性查找法    

      public class LinearSearch {
          public static int linearSearch(int[] list, int key){
               for(int i = 0; i < list.length; i++){
                   if(key == list[i])
                   return i;
              }
  
               return -1;
          }

       }

2.    二分查找法  

       public class BinarySearch {
          public static int binarySearch(int[] list, int key){
             int low = 0;
             int high = list.length - 1;
  
             while(high >= low){
                    int mid = (high + low) / 2;
                    if(key < list[mid])
                          high = mid - 1;
                    else if(key == list[mid])
                          return mid;
                    else
                          low = mid + 1;
               }
  
               return -low -1;
           }

        }

posted @ 2011-06-13 21:33  爱无限  阅读(102)  评论(0编辑  收藏  举报