《a[m],b[n]合成有序c[m+n]最简算法.doc》由会员分享,可在线阅读,更多相关《a[m],b[n]合成有序c[m+n]最简算法.doc(3页珍藏版)》请在金锄头文库上搜索。
1、/代码全是我自己写,如果有不明白的欢迎来咨询。求审核的大大们给过,谢谢!/代码作用:不同长度的无序数组am,bn合成有序cm+n最贱算法#include#include#define M 10#define N 15int get_min(int a,int n,int t) int i,min,temp; for(i=min=t;iai)min=i; if(atamin) temp=at; at=amin; amin=temp; return at;void main() int aM=10,9,7,8,4,6,3,5,12,11,bN=17,16,15,1,2,4,5,9,7,8,4,6,
2、3,5,4,cM+N; int i,j,k; for(i=k=j=0;iM&jN;) ck+=(get_min(a,M,i)get_min(b,N,j)?ai+:bj+); /虽然这段程序不值得提倡,但想法思路很是巧妙,语句简介,故而我写了出来 while(iM) ck+=get_min(a,M,i+); while(jN) ck+=get_min(b,N,j+); for(i=0;iM;i+) printf(%d,ai); printf(n); for(j=0;jN;j+) printf(%d,bj); printf(n); for(k=0;kN+M;k+) printf(%d,ck); printf(n);