One Algorithm A Day --- MERGESORT--分治法
来源:互联网 发布:linux里sleep函数 编辑:程序博客网 时间:2024/05/21 10:34
分治法--归并排序
#include <stdlib.h>#include <stdio.h>#define Len 20typedef int RecType;void Merge(RecType A[],int p,int q,int r){ RecType *R1; int i = p,j = q + 1,k = 0; R1 = (RecType*)malloc((r-p+1)*sizeof(RecType)); while(i <= q && j <= r) { if(A[i] < A[j]) { R1[k] = A[i]; k++; i++; }else{ R1[k] = A[j]; k++; j++; } } while(i <= q) { R1[k] = A[i]; k++; i++; } while(j <= r) { R1[k] = A[j]; j++; k++; } for(k = 0,i = p;i <= r;i++,k++) { A[i] = R1[k]; }}void MergeSort(RecType 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); }}void print(RecType A[]){ int i; for(i = 0;i < Len;i++) { printf("%d ",A[i]); } printf("\n");}int main(){ RecType A[Len] = {2,4,6,1,8,34,23,78,13,6,9,22,11,33,14,26,5,3,56,12}; MergeSort(A,0,19); print(A); return 0;}
- One Algorithm A Day --- MERGESORT--分治法
- One Algorithm A Day --- INSERTION-SORT--算法入门
- 分治法求解MergeSort
- Algorithm One Day One -- 约瑟夫环(丢手绢问题)
- 分治法排序 Thinking in MergeSort
- a page one day(1)
- a page one day 2
- a page one day 5
- a page one day 6
- Algorithm——MergeSort
- one time a day ,change my life
- 分治法——归并排序(MergeSort)
- Algorithm One Day One--求输入的数组其子数组的最大值
- Algorithm One Day One -- 判断链表是否有环(上)
- Algorithm One Day One -- 判断链表是否有环(下)
- One day
- ONE DAY
- one day
- Version of IE 32 bit or 64 bit? - How can I tell which version I am using?
- obj format
- 基于ARM的智能来电显示器的设计[图]
- 华师大OJ【1812】二叉树?非也
- 移植uboot
- One Algorithm A Day --- MERGESORT--分治法
- 另类角度思考HTML5和原生APP之争
- 【Jason Lab】在工作流中使用异步调用
- CF 246C Beauty Pageant
- How does Twitter Portlet in Liferay Marketplace work?
- 人生最重要的不是努力,是方向。
- 腾讯搞什么啊,一个比赛规则还三天两头变
- Twitter REST API and Streaming API
- 小试 Node.JS 之 解析html