c 与c二级 java区别_计算机二级java和c难吗

合并有序数组的实现

java版本:

实例代码

public class Merge {

//合并有序数组

public static void mergeSort(int a[], int b[], int c[]) {

int n = a.length, m = b.length;

int i, j, k;

i = j = k = 0;

while (i < n && j < m) {

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

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

} else {

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

}

}

while (i < n)

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

while (j < m)

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

}

//打印数组中的元素

public static void printArr(int a[]) {

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

System.out.print(a[i] + "\t");

}

}

public static void main(String[] args) {

System.out.println("Hello World!");

int[] a = new int[] { 1, 2, 5, 6 };

int[] b = new int[] { 3, 8, 9, 10 };

int c[] = new int[8];

mergeSort(a, b, c);

printArr(c);

}

}

输出结果:

1 2 3 5 6 8 9 10

C语言版

实现代码:

#include

// 打印数组a

void printArr(int a[],int n){

for (int i = 0; i < n; ++i)

{

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

}

printf("\n");

}

//合并有序数组

void mergeArray(int a[],int n,int b[],int m,int c[]){

int i, j, k;

i = j = k = 0;

while (i

{

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

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

else

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

}

while (i < n)

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

while (j < m)

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

}

int main(){

int a[3]={2,3,6};

int b[2]={1,5};

int c[5]={};

mergeArray(a,3,b,2,c);

printArr(c,5);

}

输出结果:

yaopans-MacBook-Pro:algorithm yaopan$ ./a.out

1 2 3 5 6

以上就是java与C语言实现合并有序数组的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

已被729人点赞

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值