有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的

编程入门 行业动态 更新时间:2024-10-25 21:26:08

有两个<a href=https://www.elefans.com/category/jswz/34/1765442.html style=升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的"/>

有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的

#include<iostream>
using namespace std;void insertArray(int A1[], int A2[], int len1, int len2)
{int newIndex=((len1--)+(len2--))-1;//先给原值再自减while (len1 >= 0 && len2 >= 0){if (A1[len1] >= A2[len2])//从后往前A1[newIndex--] = A1[len1--];elseA1[newIndex--] = A2[len2--];}while (len1 >= 0)//剩余的A1[newIndex--] = A1[len1--];while (len2 >= 0)A1[newIndex--] = A2[len2--];
}int main()
{int A1[20] = { 7, 8, 9, 11 };int A2[4] = { 4, 5, 8, 10 };int len1 = 4, len2 = 4;cout << "数组A1中的数为" << endl;for (int i = 0; i < len1; ++i)cout << A1[i] << " ";cout << endl<<"数组A2中的数为" << endl;for (int i = 0; i < len2; ++i)cout << A2[i] << " ";insertArray(A1, A2, len1, len2);cout << endl << "A2插入A1后新的数组为" << endl;for (int i = 0; i < len1 + len2; i++)cout << A1[i] << " ";cout << endl;system("pause");return 0;
}

 

更多推荐

有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的

本文发布于:2024-02-11 23:41:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1684350.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:升序   排列   数组   开辟   剩余

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!