算法导论——合并排序
来源:互联网 发布:node.js javaweb 编辑:程序博客网 时间:2024/05/21 10:29
今天算是正式开始读算法导论了
不论能看懂多少,且看下去罢
因为正好在学C++,这个合并排序的算法原本打算用C++来实现
但C++实在了解的太少,故而还是用C写了
其实就是将伪代码翻译过来
所以代码比较粗糙
#include "stdio.h"void merge(int *num,int p,int q,int r){ int n1,n2,i,j,k; int left[100],right[100]; n1=q-p+1; n2=r-q; for (i=0; i!=n1; ++i) { left[i]=num[p+i]; } for (j=0; j!=n2; j++) { right[j]=num[q+j+1]; } left[i]=10000; right[j]=10000; i=j=0; for (k=p; k<=r; k++) { if (left[i]<=right[j]) { num[k]=left[i]; ++i; } else{ num[k]=right[j]; ++j; } }}void merge_sort(int *num,int p,int r){ int q; if (p<r) { q=(p+r)/2; merge_sort(num, p, q); merge_sort(num, q+1, r); merge(num,p,q,r); }}int main(){ int length=0,num[100],i; while (scanf("%d",&num[length])!=EOF) { length++; } merge_sort(num, 0, length-1); for (i=0; i!=length; ++i) { printf("%d ",num[i]); } putchar('\n'); return 0;}
- 算法导论——合并排序
- 算法导论学习笔记——合并排序
- 【算法导论】 2.3合并排序
- 【算法导论】合并排序法
- 合并排序算法函数(算法导论)
- 合并排序算法函数(算法导论)
- 算法导论合并排序算法python实现
- 算法导论—快速排序
- 算法导论—计数排序
- 算法导论篇—排序
- 读《算法导论》我来C语言实现(2)——合并排序
- 学习算法导论-合并排序
- 算法导论笔记之----合并排序
- 算法导论CLRS 2.3 合并排序
- [一步一步写算法导论]合并排序
- 算法导论,合并排序,c实现。
- 算法导论--JAVA实现合并排序详解
- 算法导论—排序—插入排序
- android游戏开发自学笔记3-3
- SimpleTagSupport类的生命周期及用BodyTagSupport类开发自定义标签
- omnetpp debug功能
- 缓存实例
- UILabel的text顶部或底部显示
- 算法导论——合并排序
- openCV实现卡通画的效果
- 软件应用无所不在 正吞噬整个世界
- hadoop 常出错问题
- 二进制
- java 学习笔记
- Ignatius and the Princess IV(map)
- oracle基础实例
- Flash Actionscript3殿堂之路