• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C语言开发之归并排序详解及实例

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c语言归并排序代码,归并排序c语言,归并排序算法c语言,c语言归并排序递归,c语言实现归并排序等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

 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 ; 
} 
</div>

运行结果:

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C语言开发之归并排序详解及实例
  • C语言 实现归并排序算法
  • C语言演示对归并排序算法的优化实现
  • C语言实现排序算法之归并排序详解
  • 归并排序的递归实现与非递归实现代码

相关文章

  • 2017-05-28浅谈C++的浅拷贝出现的错误
  • 2017-05-28C++中的三大函数和操作符重载(Boolan)
  • 2017-05-28平衡二叉树的实现实例
  • 2017-05-28C语言指针的长度和类型深入分析
  • 2017-05-28C++中关于委派(Delegates)的实现示例
  • 2017-05-28linux c 获得当前进程的进程名和执行路径(示例)
  • 2017-05-28插入排序的顺序表实现代码
  • 2017-05-28c语言swap(a,b)值交换的4种实现方法
  • 2017-05-28C++中this指针的用法及介绍
  • 2017-05-28C++ 中使用lambda代替 unique_ptr 的Deleter的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 用C++实现,将一句话里的单词进行倒置的方法详解
    • C++获取任务栏打开程序窗口示例
    • C语言二维数组的处理实例
    • 谈谈C++学习之Pair的使用方法
    • 算法学习入门之使用C语言实现各大基本的排序算法
    • 深入jaxb xjc编码问题的详细介绍
    • YUV格式与RGB格式的相互转换公式及C++代码
    • POJ2151 Check the difficulty of problems 概率DP
    • 有关C++继承与友元、继承与类型转换详解
    • 用C语言的泛型实现交换两个变量值

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有