加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

合并有序数组的实现(java与C语言)

发布时间:2020-12-14 19:48:47 所属栏目:Java 来源:网络整理
导读:合并有序数组的实现 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++];

合并有序数组的实现

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 <stdio.h>
// 打印数组a
void printArr(int a[],int n){
  for (int i = 0; i < n; ++i)
  {
    printf("%dt",a[i]);
  }
  printf("n");
}
//合并有序数组
void mergeArray(int a[],int n,int m,int c[]){
  int i,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++]; 

}
int main(){
  int a[3]={2,3,6};
  int b[2]={1,5};
  int c[5]={};
  mergeArray(a,c);
  printArr(c,5);
}

输出结果:

yaopans-MacBook-Pro:algorithm yaopan$ ./a.out 
1  2  3  5  6

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

您可能感兴趣的文章:

  • Java实现把两个数组合并为一个的方法总结
  • Java实现合并两个有序序列算法示例
  • java 两个数组合并的几种方法
  • 归并算法之有序数组合并算法实现
  • java实现把两个有序数组合并到一个数组的实例

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读