Java Array Sort union(int[] sorted1, int[] sorted2)

Here you can find the source of union(int[] sorted1, int[] sorted2)

Description

union

License

Open Source License

Declaration

public static int[] union(int[] sorted1, int[] sorted2) 

Method Source Code


//package com.java2s;
//License from project: Open Source License 

import java.util.Arrays;

public class Main {
    public static int[] union(int[] sorted1, int[] sorted2) {
        int[] result = new int[sorted1.length + sorted2.length];
        int i = 0, j = 0, k = 0;

        while (i < sorted1.length && j < sorted2.length) {
            if (sorted1[i] < sorted2[j]) {
                result[k] = sorted1[i];//from w  ww  .j a  va2  s .c  o m
                i++;
            } else if (sorted1[i] > sorted2[j]) {
                result[k] = sorted2[j];
                j++;
            } else { //equal
                result[k] = sorted2[j];
                j++;
                i++;
            }
            //            if (k > 0 && last == result[k])
            //                k--;
            //            last = result[k];
            k++;
        }

        while (i < sorted1.length) {
            result[k] = sorted1[i];
            i++;
            k++;
        }

        while (j < sorted2.length) {
            result[k] = sorted2[j];
            j++;
            k++;
        }

        return Arrays.copyOf(result, k);
    }
}

Related

  1. sortWithNoMissingValues( double[] array)
  2. toSortedArray(Collection collection)
  3. toSortedArray(Set groups)
  4. toSortedIntArray(Collection ints)
  5. toStringArray(Collection collection, boolean sort)
  6. uniqueExclusiveSort(String[] values, String[] removeValues)