C语言之归并排序
来源:互联网 发布:程序员思维修炼 pdf 编辑:程序博客网 时间:2024/06/07 00:56
即将两个都升序(或降序)排列的数据序列合并成一个仍按原序排列的序列。
上代码:
#include <stdio.h>#include <stdlib.h>#define m 6#define n 4int 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 ;}运行结果:
0 0
- C语言之归并排序
- C语言排序之归并排序篇
- 算法导论 之 归并排序[C语言]
- 数据结构之---C语言实现归并排序
- 归并排序C语言
- 归并排序C语言
- C语言 归并排序
- 归并排序 C语言数据结构
- 归并排序 c语言实现
- 归并排序(C语言)
- 归并排序C语言实现
- 归并排序C语言实现
- 归并排序C语言代码
- 归并排序(C语言)
- 归并排序(C语言)
- 归并排序--C语言实现
- 归并排序C语言实现
- 归并排序--c语言实现
- hadoop集群 安装hive 简单版本
- 爬山算法和模拟退火算法
- Shadowsocks
- C语言之插入排序
- Light OJ 1064 Throwing Dice(简单DP)
- C语言之归并排序
- UVa--140 BandWidth (DFS)
- 写在这之前
- 集训队专题(4)1004 Where is the canteen
- hdu3790 最短路径问题 (dijkstra,双关键值最短路)
- arm学习之linux内核移植分析
- hadoop2.x常用端口及定义方法
- Swift协议
- ButterKnife的使用