
C++ 数组 设有序(值由大到小)的两组数 将他们有序合并
4个回答
展开全部
比如数组a,b,合并为c具体思想可以将ab里的元素先赋给c,然后再在c内部排序。排序方法 for( i=0;i<N3;i++){for( j=i;j<N3;j++){if(c[i]<c[j]){pt=c[i]; c[i]=c[j]; c[j]=pt; }}}
你手机,你手机代码写不上。
你手机,你手机代码写不上。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(int i=0, j=0; i<Asize||j<Bsize;) { if(A[i]>B[j]) { C[i+j]=A[i]; j++; } else {C[i+j]=B[j]; i++;} }
Asize和Bsize是数组AB的大小,简单来说就是建立新的数组C,数组A和B逐个比较把大的复制到数组C去
Asize和Bsize是数组AB的大小,简单来说就是建立新的数组C,数组A和B逐个比较把大的复制到数组C去
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是两个有序数组,就可以用归并法或者跳跃法直接合并到新数组,在赋值给新数组之前做比较。
如果是两个无序数组,要向楼上所说先赋值到新数组再排序比较方便。有100字数限制没法给代码。
如果是两个无序数组,要向楼上所说先赋值到新数组再排序比较方便。有100字数限制没法给代码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
while ((i < sizeof(a) / sizeof(int)) && (j < sizeof(b) / sizeof(int))){if (a[i] <= b[j]) {c[k] = a[i]; i++; }else { c[k] = b[j];j++;}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询