C语言开发之归并排序详解及实例

C语言开发之归并排序详解及实例,第1张

概述 C语言归并排序 即将两个都升序(或降序)排列的数据序列合并成一个仍按原序排列的序列。

 C语言归并排序

 即将两个都升序(或降序)排列的数据序列合并成一个仍按原序排列的序列。

上代码:

#include <stdio.h> #include <stdlib.h> #define m 6 #define n 4 int main() {    int a[m]={-3,6,19,26,68,100},b[n]={8,10,12,22};   int i,j,k,c[m+n];   int l ;   i=j=k=0;   printf("a数组的元素:\n");   for(l = 0 ; l < m ; L++)   {     printf("%d ",a[l]);     }   printf("\nb数组的元素:\n");   for(l = 0 ; l < n ; L++)   {     printf("%d ",b[l]);     }   printf("\n合并后的数组元素:\n");   while(i<m && j<n)  /*将a、b数组中的较小数依次存放到c数组中*/   {      if(a[i]<b[j])      {       c[k]=a[i];        i++;     }     else      {       c[k]=b[j];        j++;     }     k++;   }   while(i>=m && j<n)  /*若a中数据全部存放完毕,将b中余下的数全部存放到c中*/   {      c[k]=b[j];      k++;      j++;    }   while(j>=n && i<m)  /*若b中数据全部存放完毕,将a中余下的数全部存放到c中*/   {      c[k]=a[i];      k++;      i++;    }   for(i=0;i<m+n;i++)     printf("%d ",c[i]);   return 0 ; } 

运行结果:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

总结

以上是内存溢出为你收集整理的C语言开发之归并排序详解实例全部内容,希望文章能够帮你解决C语言开发之归并排序详解及实例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1245354.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存