c++兩數組合并算法

 2023-12-06 阅读 27 评论 0

摘要:? #include <iostream> #define MAXSIZE 100 using namespace std; int combine(int a[],int b[],int c[],int n,int m) { ????int i=0,j=0,k=0; ????while(i<n&&j<m) ????{ ????????if(a[i]<b[j]) ????????{ ????????????c[k++]

?

#include <iostream>

#define MAXSIZE 100

using namespace std;

int combine(int a[],int b[],int c[],int n,int m)

{

????int i=0,j=0,k=0;

????while(i<n&&j<m)

????{

????????if(a[i]<b[j])

????????{

????????????c[k++]=a[i++];

????????}

????????else

????????{

????????????c[k++]=b[j++];

????????}

????}

????if(i!=n)//i不等于n說明數組a還有沒復制完的元素

????{

????????for(;i<n;i++)c[k++]=a[i];

????}

????else if(j!=m)//同理j不等于m說明b還有沒復制完的元素

????{

????????for(;j<m;j++)c[k++]=b[j];

????}

}

int main()

{

????int arr1[MAXSIZE]={3,5,38,42,45};

????int arr2[MAXSIZE]={4,8,32,33,41,42,44,88};

????int arr3[MAXSIZE];

????combine(arr1,arr2,arr3,5,8);

????cout<<"數組1:";

????for(int i=0;i<5;i++)cout<<arr1[i]<<" ";

????cout<<"\n數組2:";

????for(int j=0;j<8;j++)cout<<arr2[j]<<" ";

????cout<<"\n兩數組合并后:";

????for(int i=0;i<13;i++)

????{

????????cout<<arr3[i]<<" ";

????}

????return 0;

}

運行結果:

?

轉載于:https://www.cnblogs.com/linruier/p/9485218.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/191264.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息