Insert into a sorted array in Java
Description
The following code shows how to insert into a sorted array.
Example
// w w w . j av a2 s . c om
import java.util.Arrays;
public class Main {
public static void main(String args[]) throws Exception {
int array[] = { 2, 5, -2, 6, -3, 8, 0, -7, -9, 4 };
// Ensure array sorted
Arrays.sort(array);
System.out.println(Arrays.toString(array));
// Search for element in array
int index = Arrays.binarySearch(array, 2);
System.out.println("Found 2 at " + index);
// Search for element not in array
index = Arrays.binarySearch(array, 1);
System.out.println("Didn't find 1 at " + index);
// Insert
int newIndex = -index - 1;
array = insertElement(array, 1, newIndex);
System.out.println(Arrays.toString(array));
}
private static int[] insertElement(int original[], int element, int index) {
int length = original.length;
int destination[] = new int[length + 1];
System.arraycopy(original, 0, destination, 0, index);
destination[index] = element;
System.arraycopy(original, index, destination, index + 1, length- index);
return destination;
}
}
The code above generates the following result.
Home »
Java Tutorial »
Java Data Type »
Java Tutorial »
Java Data Type »