将两个排好序的数组,合并到另外一个数组中,并且合并之后的数组也是有序的。
2014-07-21 21:46
417 查看
int a[10] = {0};
int b[10] = {0};
int c[20] = {0};
//给数组a赋值
for (int i =
0; i <
10; i++) {
a[i] = arc4random() % (40 -
20 +
1) + 20;
}
//给数组b赋值
for (int i =
0; i <
10; i++) {
b[i] = arc4random() % (40 -
20 +
1) + 20;
}
//将数组a排序
for (int i =
0; i <
10 - 1; i++) {
for (int j =
0; j <
10 - 1 - i; j++) {
if (a[j] > a[j +
1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
//将数组b排序
for (int i =
0; i <
10 - 1; i++) {
for (int j =
0; j <
10 - 1 - i; j++) {
if (b[j] > b[j +
1]) {
int temp = b[j];
b[j] = b[j + 1];
b[j + 1] = temp;
}
}
}
//输出数组a
for (int i =
0; i <
10; i++) {
printf("%d ", a[i]);
}
printf("\n");
//输出数组b
for (int j =
0; j <
10; j++) {
printf("%d ", b[j]);
}
printf("\n");
//将数组a和数组b合并到数组c中
int i =
0, j =
0, k = 0;
while (i <
10 && j <
10 ) {
if (a[i] > b[j]) {
c[k++] = b[j++];
} else {
c[k++] = a[i++];
}
}
while (i <
10) {
c[k++] = a[i++];
}
while (j <
10) {
c[k++] = b[j++];
}
//输出排序好的数组c
for (int m =
0; m <
20; m++) {
printf("%d ", c[m]);
}
int b[10] = {0};
int c[20] = {0};
//给数组a赋值
for (int i =
0; i <
10; i++) {
a[i] = arc4random() % (40 -
20 +
1) + 20;
}
//给数组b赋值
for (int i =
0; i <
10; i++) {
b[i] = arc4random() % (40 -
20 +
1) + 20;
}
//将数组a排序
for (int i =
0; i <
10 - 1; i++) {
for (int j =
0; j <
10 - 1 - i; j++) {
if (a[j] > a[j +
1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
//将数组b排序
for (int i =
0; i <
10 - 1; i++) {
for (int j =
0; j <
10 - 1 - i; j++) {
if (b[j] > b[j +
1]) {
int temp = b[j];
b[j] = b[j + 1];
b[j + 1] = temp;
}
}
}
//输出数组a
for (int i =
0; i <
10; i++) {
printf("%d ", a[i]);
}
printf("\n");
//输出数组b
for (int j =
0; j <
10; j++) {
printf("%d ", b[j]);
}
printf("\n");
//将数组a和数组b合并到数组c中
int i =
0, j =
0, k = 0;
while (i <
10 && j <
10 ) {
if (a[i] > b[j]) {
c[k++] = b[j++];
} else {
c[k++] = a[i++];
}
}
while (i <
10) {
c[k++] = a[i++];
}
while (j <
10) {
c[k++] = b[j++];
}
//输出排序好的数组c
for (int m =
0; m <
20; m++) {
printf("%d ", c[m]);
}
相关文章推荐
- 将两个排好序的数组,合并到另外一个数组中,并且合并之后的数组也是有序的。
- 将两个排好序的数组,合并到另外一个数组中,并且合并之后的数组也是有序的。
- 4.将两个排好序的数组,合并到另外一个数组中,并且合并之后的数组也是有序的。
- 将两个排好序的数组,合并到另外一个数组中,并且合并之后的数组也是有序的。
- 将两个排好序的数组,合并到另外一个数组中,并且合并之后的数组也是有序的。
- C 语言,将两个数组合并到另外一个数组中,并且合并之后的数组是有序的。
- 算法面试题——两个有序数组,将一个数组放入另一个空间很大的数组,要求合并之后依然有序,时间复杂度要求最小,不使用额外的数组。
- 合并两个有序数组,合并之后也是有序数组
- 两个有序数组合并为一个有序数组
- leetcode:Merge Sorted Array(合并两个有序数组到其中一个数组中)【面试算法题】
- 两个有序数组合并为一个有序数组
- 有两个排序数组A1和A2,内存在A1的末尾有足够多的空余空间容纳A2,实现一个函数,把A2 插入到A1,并且是有序的。
- java将两个有序数组合并成一个有序数组
- 两个有序数组合并成一个有序数组
- 两个有序数组合并成一个新的有序数组
- 面试题:两个无序数组合并成一个有序数组
- 合并两个有序数组为一个新的有序数组
- 小算法:合并两个有序数组,合并之后仍然有序
- merge两个有序数组,合并之后仍保持有序
- 寻找两个有序数组合并之后的中位数