Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static void merge(int arr[], int l, int m, int r, String decision){
- int a = m - l +1;
- int b = r - m;
- int left[] = new int [a];
- int right[] = new int [b];
- for (int i=0;i<a;++i){
- left[i] = arr[l + i];
- }
- for (int j=0;j<b;++j){
- right[j] = arr[m+1 + j];
- }
- int i=0 ,j = 0;
- int k = l;
- while( i < a && j < b){
- if (decision.equalsIgnoreCase("A"))
- if(left[i] <= right[j]){ //(<= if ascending)
- arr[k] = left[i];
- i++;
- }
- else{
- arr[k] = right[j];
- j++;
- }
- k++;
- }
- if (decision.equalsIgnoreCase("D")){
- if(left[i] >= right[j]){ //(>= if descending)
- arr[k] = left[i];
- i++;
- }
- else{
- arr[k] = right[j];
- j++;
- }
- k++;
- }
- while(i < a){
- arr[k] = left[i];
- i++; k++;
- }
- while(j < b){
- arr[k] = right[j];
- j++; k++;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement