有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的
2018-02-14 16:06
706 查看
c++代码
#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--];
else
A1[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;
}
运行结果
#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--];
else
A1[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中,并且是按照升序排列的
- 有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的
- 有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的
- 有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的
- 有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的
- 有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的
- 有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的
- 有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的
- 有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的
- 有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的
- 有两个升序的的数组A1和A2,内存在A1末尾有足够的多余空间容纳A2,设计一个函数,把A2中的所有数字插入到A1中并且所有的数字都是升序的。
- 有两个排序数组A1和A2,内存在A1的末尾有足够多的空余空间容纳A2,实现一个函数,把A2 插入到A1,并且是有序的。
- 剑指offer2.3.2字符串:有两个排序的数组A1和A2,内存在A1的末尾有足够多的空余空间容纳A2,编写一个函数,将A2合并到A1并排序
- 编程:用java 语言实现,输入一个数,就相应地输出的几维数组!||用1、2、2、3、4、5这六个数字,用java写一个函数,打印出所有不同的排列,要求:"4"不能在第三位,"3"与"5"不能相连
- 给一个整数数组,对数组中的每个整数中的所有数字按照升序排列(如101排序后为011)请写一个方法,输出排序后的数组中的最大数。 例如有一个数组: 101、132、375,排序后11、123、357,
- 编写函数,将大小为10的数组里面的整数升序排列,并编写一个函数,使得插入一个数之后,数组里面的整数依然按照升序排列
- 给定两个排序的数组,其中A有足够空间容纳B,实现一个方法将B容纳进A并排序
- 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现。
- 剑指offer面试题4:替换空格 相关题目 排序的数组A2中所有数字插入到A1并保持排序
- 输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。