Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int*merge (int*left, int*right, int ln, int rn){
- int* arr=new int [ln+rn];
- int l=0,r=0,k=0;
- while (l<ln && r<rn){
- if(left[l]<=right[r]){
- arr [k]=left[l];
- l++;k++;
- }
- else {
- arr[k]=right[r];
- r++;k++;
- }
- }
- while (l<ln){
- arr[k]=left[l];
- l++;k++;
- }
- while (r<rn){
- arr[k]=right[r];
- r++;k++;
- }
- return arr;
- }
- void print(int * arr, int n) {
- for (int i = 0; i < n; i++) {
- cout << arr[i] << " ";
- }
- cout << endl;
- }
- int main()
- {
- int left[6] = {17,35,40,79,101,110};
- int right[8] = {1,7,15,23,48,54,70,81};
- print(left, 6);
- print(right, 8);
- int * result = merge(left, right, 6, 8);
- print(result, 14);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement