归并排序
来源:互联网 发布:最新网络歌曲2017 编辑:程序博客网 时间:2024/06/07 03:36
排序过程:
#define INF 9999999void merge(int *L,int low,int mid,int high){int n1,n2,i;int *Left,*Right;n1=mid-low+1;//前半段数量。+1是因为前半段是包括mid的!n2=high-mid; //后半段数量Left=(int *)malloc(n1*sizeof(int)); //前半段数组创建 Right=(int *)malloc(n2*sizeof(int)); //后半段数组创建for(i=0;i<n1;i++) //前半段赋值Left[i]=L[low+i];for(i=0;i<n2;i++) //后半段赋值Right[i]=L[mid+i+1]; //这是加1是因为后半段不包括mid,所以i=0时,应该是L[mid+1]Left[i]=Right[i]=INF;//设置无穷大边界n1=n2=0;i=low;for(i=low;i<=high;i++){if(Left[n1]<Right[n2]) //谁小把哪谁放进L中L[i]=Left[n1++];else L[i]=Right[n2++];}}void mergesort(int *L,int low,int high){int mid,i;if(low>=high)return;mid=(low+high)/2;mergesort(L,low,mid); //前半段是包括mid的mergesort(L,mid+1,high); //后半段是不包括mid的,故mid+1//保证前半段和后半段都有序后,即可以归并merge(L,low,mid,high);}
0 0
- 归并排序-归并排序
- 归并和归并排序
- 归并与归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 排序::归并
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 帮助理解js的小知识点:JavaScript添加样式
- 倒计时
- Jsoup爬取360电影网上的信息
- 模式识别之聚类
- form表单提交get与post的区别
- 归并排序
- var React = require(“react”)的require是啥?
- 第4章 表达式
- (一)@Input属性讨论
- java获取域名Whois注册信息
- URI URN URL
- dd命令中seek和skip的用法
- LeetCode 74. Search a 2D Matrix
- C#控制台基础 console类是一个静态类