Flask接口签名sign原理与实例代码浅析
274
2023-04-24
合并有序数组的实现(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语言实现合并有序数组的实例,如有疑问请留言或者到本站社区交流http://讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
{
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语言实现合并有序数组的实例,如有疑问请留言或者到本站社区交流http://讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~