将两个数组合并成一个数组,并且按从小到大排序,请问各位大侠,最后两句while语句什么作用?void fun (int a[],int n,int b[],int m,int *c){ int i,j; for(i=j=0;i

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/16 05:57:46
将两个数组合并成一个数组,并且按从小到大排序,请问各位大侠,最后两句while语句什么作用?void fun (int a[],int n,int b[],int m,int *c){ int i,j; for(i=j=0;i

将两个数组合并成一个数组,并且按从小到大排序,请问各位大侠,最后两句while语句什么作用?void fun (int a[],int n,int b[],int m,int *c){ int i,j; for(i=j=0;i
将两个数组合并成一个数组,并且按从小到大排序,请问各位大侠,最后两句while语句什么作用?
void fun (int a[],int n,int b[],int m,int *c)
{
int i,j;
for(i=j=0;i {
*c++=a[i] }
while(i while(j

将两个数组合并成一个数组,并且按从小到大排序,请问各位大侠,最后两句while语句什么作用?void fun (int a[],int n,int b[],int m,int *c){ int i,j; for(i=j=0;i
因为两个数组的长度是不同的,数组a的元素个数是n,数组b的元素个数是m.for循环是在两个数组中分别比较元素的大小,指针c指向两个数组中较小的那个元素.依次朝后比较.当其中一个数组的元素全部都被遍历完,则指针c 就直接依次指向另外一个数组所有元素,将元素都添加到新数组中.
说的可能有点罗嗦.
举个例子吧
假定 a={1,3,7,}
b={2,4}
按照上面的程序,它的执行顺序是:
1) 比较a中的第一个元素和b中的第一个元素,12,指针指向2
3) 比较a中的第二个元素和b中的第二个元素,3

最后两个while 是用来比较大小的。
使a[]中的数字和b[]中的数字逐个比较。

简单几句话:首先你这题是要有条件的,就是这两个数组要事先有序,从小到大
for(i=j=0;in或者j>m时退出,废话!!
{
*c++=a[i] }
当两个数组相同长度那段比较插入完了,两个中更长的那个数组还剩元素,把剩下的直接接到c的尾巴上就完事了。...

全部展开

简单几句话:首先你这题是要有条件的,就是这两个数组要事先有序,从小到大
for(i=j=0;in或者j>m时退出,废话!!
{
*c++=a[i] }
当两个数组相同长度那段比较插入完了,两个中更长的那个数组还剩元素,把剩下的直接接到c的尾巴上就完事了。

收起

将两个数组合并成一个数组,并且按从小到大排序,请问各位大侠,最后两句while语句什么作用?void fun (int a[],int n,int b[],int m,int *c){ int i,j; for(i=j=0;i 编程分别输入两个按从小到大排序的数组a和b,将这两个有序数组合并,使合并后的数 将两个已经排好序(从小到大)的整数数组合并成一个新的数组例如:a[3]={1,6,9},b[4]={2,4,7,10}, 数组a中存放10个整数,将a中大于0的数存放到数组b中,对数组b按从小到大排序. C语言 升序和降序合并,最后得个升序将1个按升序排列的数组和1个按降序排列的数组,按升序合并后放到其中一个数组中,要求每个数都一次到位,不得在新数组中重新排序 例如:升序排列的数 将数组{8,23,4,16,77,-5,53,100}中的元素按从小到大的顺序排列,每次可以交换任意两个元素,最少需交换几次? C语言:两数组合并,并升序排列.定义函数void Merge(int a[],int n,int b[],int m),参数a、b为一维数组,数组中的数据为升序排列,n和m分别为它们的元素个数.函数的功能为:将数组a和b合并为一个数组, 10个整数用scanf分别输入到两个数组中(各五个整数),将10个数按从小到大的顺序存放到新的数组(10个元素不能用选择法,不能全部放到第三个数组后再排序 pascal下列程序是将两个从小到大的数列A·B合并为一个数列C·使合并C也按从小到大的顺序排列 C 写一个函数,接收三个长度相等的浮点型数组,将前两个数组的对应元素加在一起放入第三个数组对应元素中,函数的返回值指向第三个数组的指针.本人小白, 用C语言将两数组里元素按顺序一一对应,用另一个数组将表合并,并转换.求大神!详细题目: { 1, 2, 3 }与{ one, two, three }按顺序一一对应,用{ three, four }与这两个表合并,将转换为{ [one]=1, 用数组编写将5个整数(整数任给)按从小到大的次序排列的程序(C++) 已知长度为n的数组的元素为整数,编程将数组中的偶数从小到大排序,奇数位置不变. 15个数按从小到大的顺序放在一个数组中,输入一个数,用折半查找法找出该数是数组中第几个元素的值该数不再数组中,则输出“无此数” Description 已知元素从小到大排列的两个数组x[]和y[],请写出一个程序算出两个数组彼此之间差的绝对值中最小的一个,这叫做数组的距离.Input 第一行为两个整数m,n(1≤m,n≤1000),分别代表数组f[],g 从键盘输入n个整数并放到数组x中,编写一个函数,将数组x中的元素颠倒顺序后仍然存放在愿数组中.要求始终只用一个数组,并且在调用函数中输出颠倒顺序后数组x中的各个元素 一道pascal题目啊两数组最短距离【short.pas】【问题描述】已知元素从小到大排列的两个数组,请写出一个程序算出两个数组彼此之间差的绝对值中最小的一个,这叫做数组的距离.【输入文件】s c++定义两个sum函数一个支持整型数组,一个支持浮点型数组,求一维数组元素之和