中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c語言merge函數如何使用

小億
206
2023-06-29 11:41:44
欄目: 編程語言

在C語言中,merge函數用于合并兩個有序數組。

函數原型如下:

void merge(int arr1[], int n1, int arr2[], int n2, int result[]);

參數解釋:

  • arr1:第一個有序數組

  • n1:第一個有序數組的長度

  • arr2:第二個有序數組

  • n2:第二個有序數組的長度

  • result:合并后的有序數組

函數實現如下:

void merge(int arr1[], int n1, int arr2[], int n2, int result[]) {
int i = 0, j = 0, k = 0;
while (i < n1 && j < n2) {
if (arr1[i] <= arr2[j]) {
result[k] = arr1[i];
i++;
} else {
result[k] = arr2[j];
j++;
}
k++;
}
while (i < n1) {
result[k] = arr1[i];
i++;
k++;
}
while (j < n2) {
result[k] = arr2[j];
j++;
k++;
}
}

使用示例:

#include <stdio.h>
void merge(int arr1[], int n1, int arr2[], int n2, int result[]);
int main() {
int arr1[] = {1, 3, 5, 7};
int n1 = sizeof(arr1) / sizeof(arr1[0]);
int arr2[] = {2, 4, 6};
int n2 = sizeof(arr2) / sizeof(arr2[0]);
int result[n1 + n2];
merge(arr1, n1, arr2, n2, result);
printf("Merged array: ");
for (int i = 0; i < n1 + n2; i++) {
printf("%d ", result[i]);
}
return 0;
}

輸出結果:

Merged array: 1 2 3 4 5 6 7

在上述示例中,我們定義了兩個有序數組arr1和arr2,然后調用merge函數將它們合并成一個有序數組result。最后,我們使用循環打印出合并后的有序數組。

0
资兴市| 当雄县| 潢川县| 哈尔滨市| 临海市| 新乡市| 唐河县| 太谷县| 利辛县| 齐齐哈尔市| 凉城县| 巴里| 开封市| 肃南| 奎屯市| 孙吴县| 宜良县| 正定县| 慈溪市| 昌图县| 铜陵市| 临邑县| 文登市| 宁津县| 绩溪县| 兰坪| 庆元县| 云和县| 平定县| 时尚| 南岸区| 南陵县| 民丰县| 沂南县| 平顺县| 平舆县| 浮山县| 钦州市| 文安县| 松原市| 林州市|