2016 - 2024

感恩一路有你

将两个各有n个元素的有序表归并成 如何将两个有序数组合并到一个有序数组中?

浏览量:2655 时间:2021-03-15 13:03:04 作者:admin

如何将两个有序数组合并到一个有序数组中?

这非常简单:代码如下(我们不要考虑这里的对象,假设它是int:):public int[]getnewarrays(int[]one,int[]two){intlen=one.lengthintlen2=两个. lengthintlen3=onelength twolength//get the sum of two array length int[]newarray=newint[len3]//创建第三个数组,length=sum of two array length for(inti=0I<len3i){if(I<len){//if I<len,赋值给元素newarray[I]=one[I]continue}intt=I-len//t从0开始,newarray[i]=two[t]//将下列元素赋值给two中的元素}//逐个赋值给第三个数组,值为前两个数组数组.排序(newarray)//使用Java提供的sort方法对第三个数组进行排序//这里也可以首先使用bubble sort,比较a和B数组中的第一个元素,将小元素放入C数组中;

2)将上一个数组中的剩余元素与下一个数组中的剩余元素进行比较,然后重复比较。

#include

void main()

{

int

a[10],b[10],c[20],i,ia,ib,ic

printf(“请输入第一个数组n”)

for(i=0i

scanf(“%d”,&a[i])

for(i=0i

scanf(“%d”,&b[i])

printf(“n”)

ia=0ib=0ic=0

而(ia

{

c[ic]=a[ia

]ia

}

else{

c[ic]=b[ib

]ib

}

ic

}

while(ia

{

c[ic]=a[ia

]ia

ic

}

while(ib

{

c[ic]=b[ib

]ib

ic

}

for(i=0i

{

printf(“]”,c[i])}

}

#include

#include

#include

#include

使用命名空间std

const int M=5

const int N=6

void sort(int[],int)

void merge(int*,int*,int*,int,int)

int main(){

int i,a[M],b[N],c[M N

]srand((unsigned int)time(null))

cout

for(i=0I

最新版本可以在选择或冒泡之前通过合并数组进行排序。有两种以上的有序方法。这取决于你学到了什么。如果我需要的话,我会写代码的。稍等片刻

将两个各有n个元素的有序表归并成 有序数组合并递归 对两个数组进行排序

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。