1. 首页 > 科技

C++:两个int型升序数组a和b,存入同型数组c后仍升序(有要求),咋写?

C++:两个int型升序数组a和b,存入同型数组c后仍升序(有要求),咋写?

c++试编写一程序实现把两个递增排列的数组A和B归并到数组C中,且仍以递增排列。

//简单写了下,只表明思路,需要自己再做完善

#define ARRAY_NUM 10

int main()

{

int a1,a2,a3;

int a[ARRAY_NUM],b[ARRAY_NUM],c[ARRAY_NUM*2];//假定此处各数组中内容已初始完成

a1=ARRAY_NUM;

a2=ARRAY_NUM;

a3=ARRAY_NUM-1;

while(a3>-1)

{

(a[a1]

}

}

对a,b两个一维数组分别进行升序,再合并到c数组中,仍按升序排列

#include<stdio.h>

#define M 5 //a数组的长度

#define N 5 //b数组的长度

void sort(int s[],int length){ //选择排序

int min,k;

for(int i=0;i<length;i++){

min=s[i];k=i;

for(int j=i+1;j<length;j++){

if(s[j]<min){

min=s[j];

k=j;

}

}

s[k]=s[i];

s[i]=min;

}

}

void main(){ //主调函数

int a[M],b[N],c[M+N],i,j,k=0;

printf("输入数组a:\n");

for(i=0;i<M;i++){

printf("a[%d]=",i);

scanf("%d",&a[i]);

}

printf("输入数组b:\n");

for(j=0;j<N;j++){

printf("b[%d]=",j);

scanf("%d",&b[j]);

}

printf("\n排序前数组a为:\n");

for(j=0;j<M;j++)

printf("a[%d]=%d ",j,a[j]);

printf("\n排序前数组b为:\n");

for(j=0;j<N;j++)

printf("b[%d]=%d ",j,b[j]);

sort(a,M);

sort(b,N);

printf("\n\n排序后数组a为:\n");

for(i=0;i<M;i++)

printf("a[%d]=%d ",i,a[i]);

printf("\n排序后数组b为:\n");

for(i=0;i<M;i++)

printf("b[%d]=%d ",i,b[i]);

i=0,j=0;

while(i<M&&j<N){

if(a[i]<=b[j])

c[k++]=a[i++];

else c[k++]=b[j++];

}

while(i<M)

c[k++]=a[i++];

while(j<N)

c[k++]=b[j++];

printf("\n\n合并后数组c为:\n");

for(i=0;i<M+N;i++)

printf("c[%d]=%d ",i,c[i]);

}

c++程序如何表示两个升序数组并为一个升序数组

void fun(int *A,int *B,int *C){

    int lb = sizeof(B) / sizeof(int); 

    //获取数组B里面有多少个数。当然也可以用参数的形式直接给。

    int lc = sizeof(C) / sizeof(int); 

    int h=0,i=0,j=0;

    while(i<lb&&j<lc){

       if(B[i]>C[j]) A[h++]=B[i++] ;

       else A[h++]=C[j++];   

    }  

    while(j<lc) A[h++] = C[j++] ;

//B数组已经归并完了。把C剩下的接到A后面

     while(i<lb) A[h++] = B[i++];  

}

编译一个程序,要求:将两个按升序排列的整数数列仍然按升序合并,并存到另一个数组中。

是javascript么,代码如下(如果有文本输入框直接把文本框输入的值获取并放到数组里面就好了)

<script type="text/javascript">

/* *****去掉重复元素方法 ***************/

function unique(arr) {

var result = [], hash = {};

for (var i = 0, elem; (elem = arr[i]) != null; i++) {

if (!hash[elem]) {

result.push(elem);

hash[elem] = true;

}

}

return result;

}

/*定义数组*/

var a=[1,3,4,7],b=[2,3,6];

/* 合并排序数组 */

var c = unique(a.concat(b).sort());

/*控制台打印最终数组*/

console.log(c);

</script>