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

所属分类: 软件编程 / C 语言 阅读数: 61
收藏 0 赞 0 分享

 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语言来求最大连续子序列乘积的方法,基本的思路以外文中还附有相关ACM题目,需要的朋友可以参考下
收藏 0 赞 0 分享

用C语言判断一个二叉树是否为另一个的子结构

这篇文章主要介绍了用C语言判断一个二叉树是否为另一个的子结构,是数据结构学习当中的基础知识,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言实现的阶乘,排列和组合实例

这篇文章主要介绍了C语言实现的阶乘,排列和组合的方法,涉及C语言数学运算的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言查找数组里数字重复次数的方法

这篇文章主要介绍了C语言查找数组里数字重复次数的方法,涉及C语言针对数组的遍历与判断技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言简单实现计算字符个数的方法

这篇文章主要介绍了C语言简单实现计算字符个数的方法,涉及C语言针对字符串的简单遍历与判定技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

c实现linux下的数据库备份

本文给大家简单介绍下c实现linux下的数据库备份的方法和具体的源码,十分的实用,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

C++获得文件状态信息的方法

这篇文章主要介绍了C++获得文件状态信息的方法,包括文件状态信息、文件所在磁盘盘符、文件创建时间、访问时间及修改日期等,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言按关键字搜索文件夹中文件的方法

这篇文章主要介绍了C语言按关键字搜索文件夹中文件的方法,涉及C语言文件操作及字符串查找的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言之字符串模糊查询方法的实现

本篇文章主要为大家介绍字符串模糊查询的C语言程序编写方法,有需要的朋友可以参考下
收藏 0 赞 0 分享

C语言实现BMP转换JPG的方法

这篇文章主要介绍了C语言实现BMP转换JPG的方法,涉及C#图片格式转换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多