Java Binary Search binarySearchReversed(int[] a, int fromIndex, int toIndex, int key)

Here you can find the source of binarySearchReversed(int[] a, int fromIndex, int toIndex, int key)

Description

binary Search Reversed

License

Apache License

Declaration

public static int binarySearchReversed(int[] a, int fromIndex, int toIndex, int key) 

Method Source Code

//package com.java2s;
/**/*from w w  w .ja v a 2  s. com*/
 * 
 *    Copyright 2017 Florian Erhard
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 * 
 */

public class Main {
    public static int binarySearchReversed(int[] a, int fromIndex, int toIndex, int key) {
        int low = fromIndex;
        int high = toIndex - 1;

        while (low <= high) {
            int mid = (low + high) >>> 1;
            int midVal = a[mid];

            if (midVal > key)
                low = mid + 1;
            else if (midVal < key)
                high = mid - 1;
            else
                return mid; // key found
        }
        return -(low + 1); // key not found.
    }
}

Related

  1. binarySearch(T[] a, T x)
  2. binarySearch0(float[] a, int fromIndex, int toIndex, float key)
  3. binarySearchCeil(double[] a, double key)
  4. binarySearchIndex(double[] values, double toFind)
  5. binarySearchLower(int[] theSearchBase, int theLowerBound, int theUpperBound, int theKey)
  6. binarySearchStringArray(String[] array, String item, int first, int last)