Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void insertBinarySearch(long value) // put element into array
- {
- int j = 0;
- int lower = 0;
- int upper = elems-1;
- int cur = 0;
- while (cur < elems)
- {
- cur = (lower + upper ) / 2;
- if(a[cur] < value)
- {
- j = cur + 1;
- break;
- }
- else if(a[cur] > value)
- {
- j = cur;
- break;
- }
- else
- {
- if(a[cur] < value)
- lower = cur + 1;
- else
- upper = cur - 1;
- }
- }
- for(int k = elems; k > j; k--)
- a[k] = a[k-1];
- a[j] = value;
- elems++;
- }
- while (lower <= upper)
- {
- curIn = (lower + upper ) / 2;
- if(a[curIn] < value)
- lower = cur + 1;
- else if(a[curIn] > value)
- upper = cur - 1;
- else if (a[curIn] == value)
- break;
- }
- if(a[curIn] <= value)
- j = curIn + 1;
- else j = curIn;
- [ 1 2 3 4 5 6 7 8 9 10 11 ]
- [ 1 4 11 9 8 6 7 2 5 3 10 ]
Add Comment
Please, Sign In to add comment