Java Array Compare arrayCompareLex(byte[] a, byte[] b)

Here you can find the source of arrayCompareLex(byte[] a, byte[] b)

Description

array Compare Lex

License

Open Source License

Declaration

public static int arrayCompareLex(byte[] a, byte[] b) 

Method Source Code

//package com.java2s;
/*-/*from   ww  w.j a  v a 2  s . com*/
 * Copyright (C) 2006-2007 Erik Larsson
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

public class Main {
    public static int arrayCompareLex(byte[] a, byte[] b) {
        return arrayCompareLex(a, 0, a.length, b, 0, b.length);
    }

    public static int arrayCompareLex(byte[] a, int aoff, int alen, byte[] b, int boff, int blen) {
        int compareLen = alen < blen ? alen : blen; // equiv. Math.min
        for (int i = 0; i < compareLen; ++i) {
            byte curA = a[aoff + i];
            byte curB = b[boff + i];
            if (curA != curB)
                return curA - curB;
        }
        return alen - blen; // The shortest array gets higher priority
    }
}

Related

  1. arrayCompare(byte[] a, byte[] a2)
  2. arrayCompare(byte[] a1, byte[] a2)
  3. arrayCompare(byte[] b1, byte[] b2)
  4. arrayCompare(final T[] a, final T[] b)
  5. arrayCompare(int[] arr1, int[] arr2)
  6. arrayContentsEq(Object[] a1, Object[] a2)
  7. createStainMask(float[] redOD, float[] greenOD, float[] blueOD, double stainThreshold, boolean excludeGray, boolean excludeUncommonColors, boolean[] mask)
  8. getLongestCommonSubsequence(int[] a, int[] b)
  9. getRelativeSegments(String[] targetPath, int commonSegments, int discardedSegments)