c語(yǔ)言怎么實(shí)現(xiàn)兩個(gè)數(shù)組對(duì)象合并

小億
85
2024-05-30 15:31:13

在C語(yǔ)言中,可以通過(guò)動(dòng)態(tài)內(nèi)存分配和循環(huán)遍歷的方式來(lái)實(shí)現(xiàn)兩個(gè)數(shù)組對(duì)象的合并。具體步驟如下:

  1. 定義兩個(gè)數(shù)組,分別為arr1和arr2,并初始化它們。
int arr1[] = {1, 2, 3, 4, 5};
int arr2[] = {6, 7, 8, 9, 10};
int size1 = sizeof(arr1) / sizeof(arr1[0]); // 獲取arr1的長(zhǎng)度
int size2 = sizeof(arr2) / sizeof(arr2[0]); // 獲取arr2的長(zhǎng)度
  1. 分配一個(gè)新的數(shù)組,用于存放合并后的結(jié)果。
int *mergedArr = (int *)malloc((size1 + size2) * sizeof(int));
  1. 將arr1和arr2的元素逐個(gè)復(fù)制到mergedArr中。
int i, j;
for(i = 0; i < size1; i++) {
    mergedArr[i] = arr1[i]; 
}

for(j = 0; j < size2; j++) {
    mergedArr[size1 + j] = arr2[j]; 
}
  1. 最后,可以打印出合并后的數(shù)組。
int mergedSize = size1 + size2;
printf("Merged Array: ");
for(i = 0; i < mergedSize; i++) {
    printf("%d ", mergedArr[i]);
}
  1. 最后,不要忘記釋放動(dòng)態(tài)分配的內(nèi)存。
free(mergedArr);

通過(guò)以上步驟,就可以將兩個(gè)數(shù)組對(duì)象合并成一個(gè)新的數(shù)組對(duì)象。

0