合并有序数组的实现(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语言实现合并有序数组的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |