合并有序数组的实现
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("%dt",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 输出结果:
yaopans-MacBook-Pro:algorithm yaopan$ ./a.out 1 2 3 5 6以上就是java与C语言实现合并有序数组的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!



