#include <stdio.h>
void merge_arry(int* arr1,int n1,int* arr2,int n2,int* arr3,int n3)
{
int i = 0;
int j = 0;
int k = 0;
while (i!=n1 && j!=n2)
{
if(arr1[i]<arr2[j])
arr3[k++]=arr1[i++];
else {
arr3[k++] = arr2[j++];
}
}
if(i == n1)
{
while (j != n2 )
{
arr3[k++] = arr2[j++];
}
}
else
{
while (i != n1 )
{
arr3[k++] = arr1[i++];
}
}
}
int main(int argc, char *argv[])
{
int arr1[4]={1,3,5,7};
int arr2[4]={2,4,6,8};
int arr3[8]={0};
merge_arry(arr1,4,arr2,4,arr3,8);
int i = 0;
for(i = 0;i<8;i++)
{
printf("%d\n",arr3[i]);
}
return 0;
}
有序数组合并优化
最新推荐文章于 2024-05-02 22:36:58 发布