hyfm.net
当前位置:首页 >> C语言编程:输入两个无序数组,分别对其排序,在合并成一个有序数组,怎么编?求教育 >>

C语言编程:输入两个无序数组,分别对其排序,在合并成一个有序数组,怎么编?求教育

# include void sort(int a[],int m) { int i,j,term; for(i=0;i

将AB的数据合并的一个数组中,排序,输出 1、for( i = 1 to strlen(a) ) input->array[i]; 2、for( i = strlen(a)+1 to strlen(a)+strlen(b) ) input->array[i]; 3、sort(array[1] to array[end] ); 4、output<-array; 伪代码就是这些,根据题意自己写一下就行了,你叙述的题意不清楚,没法写代码

以输入五个数为例的话. 程序是这样的. #include<stdio.h>#define n 5 void main() { int i,j,a[n],t; printf("input five number :\n"); for(i=0;i<=n-1;i++) scanf("%d",&a[i]); for(i=0;i<=n-2;i++) for(j=0;j<=n-2-i;j++) { if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]

就以你的例子来写,可适当修改为更普遍的 算法核心代码为:int i = j = k = 0;//循环比较,将小的插入到C数组中 while ( i < 3 && j < 3) { if (a [i] < b [j]) c[k++] = a[i++]; else c[k++] = b[j++]; }//处理其中一个数组剩下 while (i < 3) c[k++] = a[i++]; while( j < 3) c[k++] = b[j++]; 或许有更好的实现,你自己在想想吧!

首先一点 printf("%d ",&c[m]); 这个语法错了. 应该是printf("%d ",c[m]); 否则输出的是地址. 其次是算法. 当i和j 也就是a和b有一个到结尾 那么 就会引起循环退出 这时 另一个剩余的元素就没有处理了.比如 你输入 a=1 2 b=3 4 那么c[0] = a[0] c[1] = a[1] 之后,i=2 退出循环 b的两个元素就没加入c了.

程序代码: #include <iostream.h> const int M=7; const int N=4; void Merge_sort(int a[],int an,int b[],int bn) { int c[M+N]={0}; int i=0,j=0,k=0; while(i<an&&j<bn) { if(a[i]<=b[j]) { c[k]=a[i]; i++; k++; } else { c[k]=b[j]; j++; k++; } } while(j<bn) { c[k++]=b[j++]; }

两种方案:①直接将两个数组合为一个,去重后,用C++的sort()函数排序.②不断比较两个序列里的数,哪个比较小,就将哪个数放入新数组.同时判断是否相等,相等要去重.

void merger(int a[],int n,int b[],int m,int c[]){ int i,j,k; i=j=k=0; //concurrent merge while(ib[j]) { c[k]=b[j]; j++; k++; } else { c[k]=a[i]; k++; i++; } } //merge one while(i 评论0 0 0

#include<stdio.h>#define n 5//预定义数组长度#define m 6 void selectsort(int a[],int n)//使用选择排序进行不减排序 { int i,t,min,tmp; for(i=0;i<n;i++) { min=i; for(t=i+1;t<n;t++) { if(a[min] > a[t]) min=t; } if(min!=i) { tmp=a[i]; a[i]=a[min]; a[min]=tmp; } } } int

怎么合并,是通过计算加减法还是排序插入 .下面是将a连接b形成c#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#define m 3#define n 3//创建矩阵int ** create(int m,int n){ int i; int **x; x=(int**)malloc(sizeof(int*) * m); if(!x) { printf("分配内存出错\n

相关文档
4405.net | xyjl.net | eonnetwork.net | qwfc.net | qwrx.net | 网站首页 | 网站地图
All rights reserved Powered by www.hyfm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com