您的位置:首页 > 其它

排序1:合并两个已排序的表

2016-01-05 19:37 176 查看
题目:有两个数组

array1[] = {2,3,9,98,99};

array2[] = {7,11,13,45,100,111,233};

现在的任务是将他们合并,并且重新按从小到大排序
直接上代码吧
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
@autoreleasepool {

int array1[] = {2,3,9,98,99};
int array2[] = {7,11,13,45,100,111,233};

int array[12];
int i = 0;
int j = 0;
int k = 0;

addArray1:
while (array1[j] <= array2[k]) {

array[i] = array1[j];
i = i + 1;
j = j + 1;

if (array1[j] > array2[k]) {
goto addArray2;
}
if (j == sizeof(array1)/4) {
while (k < sizeof(array2)/4) {

array[i] = array2[k];
i++;
k++;

}
}

}

addArray2:
while (array1[j] > array2[k]) {

array[i] = array2[k];
i++;
k++;
if (array2[k] > array1[j]) {
goto addArray1;
}
if (k == sizeof(array2)/4) {
while (j < sizeof(array1)/4) {

array[i] = array1[j];
i++;
j++;

}
}
}

for (int a = 0; a < 12; a++) {
printf("%d,",array[a]);
}

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: