Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static int binaryStringSearch(String target, String[] arr, int hi, int lo) {
- int mid = (hi + lo) / 2;
- if(hi < lo) {
- return -1;
- }
- if (arr[mid] == target) {
- return mid;
- } else if (arr[mid] > target) {
- return binarySearch(target, arr, hi, mid + 1);
- } else {
- return binarySearch(target, arr, mid - 1, lo);
- }
- }
- public static void sortedInsert(String[] A, int n, String item) {
- if(n == 0) {
- int[] ret = {item};
- return ret;
- }
- int index = binaryStringSearch(item, A, 0, n-1);
- if(index == -1) {
- temp = new int[n+1];
- int insertionPoint = 0;
- for(int i = 0; A[i] < item; i++) {
- temp[i] = A[i];
- insertionPoint = i;
- }
- insertionPoint++;
- temp[insertionPoint] = item;
- for(int i = insertionPoint-1; i < n; i++) {
- temp[i+1] = A[i];
- }
- A = temp;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement