分治排序(2)
来源:互联网 发布:中国软件著作权登记 编辑:程序博客网 时间:2024/06/01 09:50
/*************************************************************************> File Name: merge.c> Author: NULL> Mail: 574889524@qq.com> Created Time: Fri 10 Oct 2014 09:15:22 PM CST ************************************************************************/#include<stdio.h>#define MAX 1000000void Merge(int *A,int p,int q,int r){ int n1 = q-p+1; int n2 = r-q; int L[n1+1],R[n2+1]; int i,j,k; for(i = 0;i<n1;++i) L[i] = A[p+i]; for(j = 0;j<n2;++j) R[j] = A[q+j+1]; L[n1] = MAX; R[n2] = MAX; i = j = 0; for(k = p; k<=r;k++){ if(L[i] <= R[j]) A[k] = L[i],i++; else A[k] = R[j],j++; }}void MergeSort(int *a,int p,int r){ int q; if(p<r){ q = (p+r)/2; MergeSort(a,p,q); MergeSort(a,q+1,r); Merge(a,p,q,r); }}int main(){ int a[] = {1,7,4,10,2,3,5,9,11,80}; int i,iLength = sizeof(a)/sizeof(int); MergeSort(a,0,iLength-1); for(i = 0;i<iLength;++i) printf("%d ",a[i]); printf("\n"); return 0;}
0 0
- 分治排序(2)
- 分治归并排序2
- 排序(2) 分治与归并排序
- 分治排序
- 分治排序
- 分治排序
- 分治排序
- 分治法合并排序
- 分治递归排序
- 分治策略----快速排序
- 排序-----二分治
- 分治法排序
- 合并排序,分治思想
- 分治法,归并排序
- 分治排序示例
- 分治合并排序
- 分治-归并排序
- 分治法--快速排序
- Android] ImageView.ScaleType设置图解
- 只会CSS还不够,LESS、SASS、BootStrap、Foundation一网打尽!
- Linux 下rm+grep删除除去指定文件的剩余所有文件
- void指针
- XMPP协议的原理介绍
- 分治排序(2)
- Partition List
- A*寻路算法的lua实现
- java线程 生产者与消费者
- [Leetcode] Combinations
- x4412开发板&ibox卡片电脑项目实战17-模块传参实验
- x4412开发板&ibox卡片电脑项目实战18-驱动中导出符号
- 反可用性的UX趋势
- 回文数字判定(nil)