#include <stdio.h>
void sortArrayElements(void);
int main() {
int t = 0;
for(int i=0; i<t; i++)
{
sortArrayElements();
}
return 0;
}
void sortArrayElements(void)
{
int *array1 = NULL, array1Length = 0, *array2 = NULL, array2Length = 0;
int i = 0, j = 0, k = 0;
scanf("%d",&array1Length
); array1
= malloc(array1Length
* sizeof(int)); scanf("%d",&array2Length
); array2
= malloc(array2Length
* sizeof(int)); for(i =0; i < array1Length; i++)
for(i =0; i < array2Length; i++)
for(i = 0, j = 0; i < array1Length; i++)
{
if(array1[i] > array2[j])
{
/*Swap the elements*/
int temp = array1[i];
array1[i] = array2[j];
array2[j] = temp;
if((j+1) < array2Length)//index should not exceed boundary
if(array2[j] > array2[j+1])//if the new entry is greater than next index
j++;//point to the new minimum of sorted part of array2
}
}
// printf("\nafter stage1:");
// for(i = 0; i < array1Length; i++)
// printf("%d ", array1[i]);
// for(i = 0; i < array2Length; i++)
// printf("%d ", array2[i]);
// printf("\n");
for(i = 0, k = 0; i < array1Length; i++)
{
if(array1[i] > array2[k])
{
/*Swap the elements*/
int temp = array1[i];
array1[i] = array2[k];
array2[k] = temp;
if(k<j)
if(array2[k] > array2[k+1])//if the new entry is greater than next index
k++;//point to the new minimum of sorted part of array2
}
}
// printf("\nafter stage1.1:");
// for(i = 0; i < array1Length; i++)
// printf("%d ", array1[i]);
// for(i = 0; i < array2Length; i++)
// printf("%d ", array2[i]);
// printf("j:%d\n",j);
for(i = 0; i < j; i++)
{
if(array2[i] > array2[j])
{
/*Swap the elements*/
int temp = array2[i];
array2[i] = array2[j];
array2[j] = temp;
if((j+1) < array2Length)//index should not exceed boundary
if(array2[j] > array2[j+1])//if the new entry is greater than next index
j++;//point to the new minimum of sorted part of array2
}
}
// printf("\nafter stage 2:");
for(i = 0; i < array1Length; i++)
for(i = 0; i < array2Length; i++)
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHNvcnRBcnJheUVsZW1lbnRzKHZvaWQpOwppbnQgbWFpbigpIHsKCWludCB0ID0gMDsKCXNjYW5mKCIlZCIsJnQpOwoJZm9yKGludCBpPTA7IGk8dDsgaSsrKQoJewoJICAgIHNvcnRBcnJheUVsZW1lbnRzKCk7Cgl9CglyZXR1cm4gMDsKfQp2b2lkIHNvcnRBcnJheUVsZW1lbnRzKHZvaWQpCnsKICAgIGludCAqYXJyYXkxID0gTlVMTCwgYXJyYXkxTGVuZ3RoID0gMCwgKmFycmF5MiA9IE5VTEwsIGFycmF5Mkxlbmd0aCA9IDA7CiAgICBpbnQgaSA9IDAsIGogPSAwLCBrID0gMDsKICAgIAogICAgc2NhbmYoIiVkIiwmYXJyYXkxTGVuZ3RoKTsKICAgIGFycmF5MSA9IG1hbGxvYyhhcnJheTFMZW5ndGggKiBzaXplb2YoaW50KSk7CiAgICBzY2FuZigiJWQiLCZhcnJheTJMZW5ndGgpOwogICAgYXJyYXkyID0gbWFsbG9jKGFycmF5Mkxlbmd0aCAqIHNpemVvZihpbnQpKTsKICAgIGZvcihpID0wOyBpIDwgYXJyYXkxTGVuZ3RoOyBpKyspCiAgICAgICAgc2NhbmYoIiVkIiwgJmFycmF5MVtpXSk7CiAgICBmb3IoaSA9MDsgaSA8IGFycmF5Mkxlbmd0aDsgaSsrKQogICAgICAgIHNjYW5mKCIlZCIsICZhcnJheTJbaV0pOwogICAgCiAgICBmb3IoaSA9IDAsIGogPSAwOyBpIDwgYXJyYXkxTGVuZ3RoOyBpKyspCiAgICB7CiAgICAgICAgaWYoYXJyYXkxW2ldID4gYXJyYXkyW2pdKQogICAgICAgIHsKICAgICAgICAgICAgLypTd2FwIHRoZSBlbGVtZW50cyovCiAgICAgICAgICAgIGludCB0ZW1wID0gYXJyYXkxW2ldOyAKICAgICAgICAgICAgYXJyYXkxW2ldID0gYXJyYXkyW2pdOwogICAgICAgICAgICBhcnJheTJbal0gPSB0ZW1wOwogICAgICAgICAgICBpZigoaisxKSA8IGFycmF5Mkxlbmd0aCkvL2luZGV4IHNob3VsZCBub3QgZXhjZWVkIGJvdW5kYXJ5CiAgICAgICAgICAgICAgICBpZihhcnJheTJbal0gPiBhcnJheTJbaisxXSkvL2lmIHRoZSBuZXcgZW50cnkgaXMgZ3JlYXRlciB0aGFuIG5leHQgaW5kZXgKICAgICAgICAgICAgICAgICAgICBqKys7Ly9wb2ludCB0byB0aGUgbmV3IG1pbmltdW0gb2Ygc29ydGVkIHBhcnQgb2YgYXJyYXkyCiAgICAgICAgfQogICAgfQogICAgLy8gcHJpbnRmKCJcbmFmdGVyIHN0YWdlMToiKTsKICAgIC8vIGZvcihpID0gMDsgaSA8IGFycmF5MUxlbmd0aDsgaSsrKQogICAgLy8gICAgIHByaW50ZigiJWQgIiwgYXJyYXkxW2ldKTsKICAgIC8vIGZvcihpID0gMDsgaSA8IGFycmF5Mkxlbmd0aDsgaSsrKQogICAgLy8gICAgIHByaW50ZigiJWQgIiwgYXJyYXkyW2ldKTsgCiAgICAvLyBwcmludGYoIlxuIik7CgogICAgZm9yKGkgPSAwLCBrID0gMDsgaSA8IGFycmF5MUxlbmd0aDsgaSsrKQogICAgewogICAgICAgIGlmKGFycmF5MVtpXSA+IGFycmF5MltrXSkKICAgICAgICB7CiAgICAgICAgICAgIC8qU3dhcCB0aGUgZWxlbWVudHMqLwogICAgICAgICAgICBpbnQgdGVtcCA9IGFycmF5MVtpXTsgCiAgICAgICAgICAgIGFycmF5MVtpXSA9IGFycmF5MltrXTsKICAgICAgICAgICAgYXJyYXkyW2tdID0gdGVtcDsKICAgICAgICAgICAgaWYoazxqKQogICAgICAgICAgICAgICAgaWYoYXJyYXkyW2tdID4gYXJyYXkyW2srMV0pLy9pZiB0aGUgbmV3IGVudHJ5IGlzIGdyZWF0ZXIgdGhhbiBuZXh0IGluZGV4CiAgICAgICAgICAgICAgICAgICAgaysrOy8vcG9pbnQgdG8gdGhlIG5ldyBtaW5pbXVtIG9mIHNvcnRlZCBwYXJ0IG9mIGFycmF5MgogICAgICAgIH0KICAgIH0KICAgIC8vIHByaW50ZigiXG5hZnRlciBzdGFnZTEuMToiKTsKICAgIC8vIGZvcihpID0gMDsgaSA8IGFycmF5MUxlbmd0aDsgaSsrKQogICAgLy8gICAgIHByaW50ZigiJWQgIiwgYXJyYXkxW2ldKTsKICAgIC8vIGZvcihpID0gMDsgaSA8IGFycmF5Mkxlbmd0aDsgaSsrKQogICAgLy8gICAgIHByaW50ZigiJWQgIiwgYXJyYXkyW2ldKTsgCiAgICAvLyBwcmludGYoImo6JWRcbiIsaik7CiAgICAKICAgIGZvcihpID0gMDsgaSA8IGo7IGkrKykKICAgIHsKICAgICAgICBpZihhcnJheTJbaV0gPiBhcnJheTJbal0pCiAgICAgICAgewogICAgICAgICAgICAvKlN3YXAgdGhlIGVsZW1lbnRzKi8KICAgICAgICAgICAgaW50IHRlbXAgPSBhcnJheTJbaV07CiAgICAgICAgICAgIGFycmF5MltpXSA9IGFycmF5MltqXTsKICAgICAgICAgICAgYXJyYXkyW2pdID0gdGVtcDsKICAgICAgICAgICAgaWYoKGorMSkgPCBhcnJheTJMZW5ndGgpLy9pbmRleCBzaG91bGQgbm90IGV4Y2VlZCBib3VuZGFyeQogICAgICAgICAgICAgICAgaWYoYXJyYXkyW2pdID4gYXJyYXkyW2orMV0pLy9pZiB0aGUgbmV3IGVudHJ5IGlzIGdyZWF0ZXIgdGhhbiBuZXh0IGluZGV4CiAgICAgICAgICAgICAgICAgICAgaisrOy8vcG9pbnQgdG8gdGhlIG5ldyBtaW5pbXVtIG9mIHNvcnRlZCBwYXJ0IG9mIGFycmF5MgogICAgICAgICAgICAKICAgICAgICB9CiAgICB9CiAgICAvLyBwcmludGYoIlxuYWZ0ZXIgc3RhZ2UgMjoiKTsKICAgIGZvcihpID0gMDsgaSA8IGFycmF5MUxlbmd0aDsgaSsrKQogICAgICAgIHByaW50ZigiJWQgIiwgYXJyYXkxW2ldKTsKICAgIGZvcihpID0gMDsgaSA8IGFycmF5Mkxlbmd0aDsgaSsrKQogICAgICAgIHByaW50ZigiJWQgIiwgYXJyYXkyW2ldKTsgCiAgICBwcmludGYoIlxuIik7Cn0=