#include
void merge(int [], int, int [], int, int []);
int main() {
int a[100], b[100], m, n, c, sorted[200];
printf("Input number of elements in first array
");
scanf("%d", &m);
printf("Input %d integers
", m);
for (c = 0; c < m; c++) {
scanf("%d", &a[c]);
}
printf("Input number of elements in second array
");
scanf("%d", &n);
printf("Input %d integers
", n);
for (c = 0; c < n; c++) {
scanf("%d", &b[c]);
}
merge(a, m, b, n, sorted);
printf("Sorted array:
");
for (c = 0; c < m + n; c++) {
printf("%d
", sorted[c]);
}
return 0;
}
void merge(int a[], int m, int b[], int n, int sorted[]) {
int i, j, k;
j = k = 0;
for (i = 0; i < m + n;) {
if (j < m && k < n) {
if (a[j] < b[k]) {
sorted[i] = a[j];
j++;
}
else {
sorted[i] = b[k];
k++;
}
i++;
}
else if (j == m) {
for (; i < m + n;) {
sorted[i] = b[k];
k++;
i++;
}
}
else {
for (; i < m + n;) {
sorted[i] = a[j];
j++;
i++;
}
}
}
}
#include ผสานเป็นโมฆะ (int [] int, int [] int, int []); {int main () int a [100], b [100], m, n, c เรียงลำดับ [200]; printf ("ป้อนหมายเลขขององค์ประกอบใน array
แรก"); scanf ("%d", & m); printf ("integers
ป้อนข้อมูล %d", m); สำหรับ (c = 0; c < m; c ++) { scanf ("%d", & a[c]) } printf ("ป้อนหมายเลขขององค์ประกอบในสอง array
"); scanf ("%d", & n); printf ("integers
ป้อนข้อมูล %d", n); สำหรับ (c = 0; c < n; c ++) { scanf ("%d", & b[c]) } เวียน (a, m, b, n เรียง); printf ("เรียงลำดับเรย์:
"); สำหรับ (c = 0; c < m + n; c ++) { printf ("%d
", sorted[c]) } กลับ 0} ผสานเป็นโมฆะ (int []การ int m, int [] b, int n, int sorted[]) { int ผม j, k j = k = 0 สำหรับ (ผม = 0 ฉัน < m + n;) { ถ้า (j < m & & k < n) { ถ้า ([j] < b[k]) { เรียงลำดับ [i] =ตัว [j]; j ++ } {อื่น การเรียงลำดับ [i] = b [k]; k ++ } i ++ } เอา (j == m) { สำหรับ (; ฉัน < m + n;) { การเรียงลำดับ [i] = b [k]; k ++ i ++ } } {อื่น สำหรับ (; ฉัน < m + n;) { เรียงลำดับ [i] =ตัว [j]; j ++ i ++ } } }}
การแปล กรุณารอสักครู่..

#include
เป็นโมฆะผสาน (int [], int, int [], int, int []); int main () { int a [100], B [100], M, N, C, เรียง [200]; printf ( " ป้อนตัวเลขจำนวนขององค์ประกอบในอาร์เรย์แรก n "); scanf ("% d ", & M); printf (" ป้อน% d จำนวนเต็ม n ", M) สำหรับ (c = 0; C <M; C ++) { scanf ( "% d", & A [C]); } printf ( "จำนวนการป้อนข้อมูลขององค์ประกอบในอาร์เรย์สอง n"); scanf ( "% d", & n); printf ( "ป้อน% d จำนวนเต็ม n", n ); สำหรับ (c = 0; C <n; C ++) { scanf ( "% d", & B [C]); } รวม (A, M, B, n, เรียงลำดับ); printf ( "เรียงอาร์เรย์: n "); สำหรับ (c = 0; C <m + n; C ++) { printf ("% d n "เรียง [C]); } return 0; } โมฆะผสาน (int a [], int เมตร int B [], int n, int เรียง []) { int i, J, K; J = K = 0; สำหรับ (i = 0; i <m + n;) { if (J <M && k <n) { ถ้า (ก [เจ] <b [K]) { เรียง [I] = a [J]; J ++; } else { เรียง [I] = b [K]; k ++; } i ++; } อื่นถ้า (J = = m) { สำหรับ (; i <m + n;) { เรียง [I] = b [K]; k ++; i ++; } } else { สำหรับ (; i <m + n;) { เรียง [I] = a [เจ]; J ++; i ++; } } } }
การแปล กรุณารอสักครู่..
