Wednesday, September 22, 2010

Find number in rotated sorted array.

How to search for a given number in a sorted array which are circularly rotated by few times.

1 comment:

  1. while(start<=end){
    middle=(start+end)/2;
    if(array[middle] == x){
    System.out.println("found="+x);
    found=true;
    break;
    }
    if( array[start] <= array[middle]){
    if( x >= array[start] && x <= array[middle]){
    end = middle-1;
    }else{
    start = middle+1;
    }
    }
    else{
    if( x >= array[start] && x >= array[middle]){
    end = middle-1;
    }else{
    start = middle+1;
    }
    }
    }

    ReplyDelete