归并排序
来源:互联网 发布:淘宝充值平台官网登录 编辑:程序博客网 时间:2024/06/05 19:01
#include<stdio.h>void merge(int source[],int temp[],int start,int mid ,int end){int i,k,j; i=start;k=start;j=mid+1;while(i!= mid+1 && j!=end+1){if(source[i]>source[j])temp[k++]=source[i++]; //先使用后加;else temp[k++]=source[j++];}while(i!=mid+1) //i不到mid+1, j到end+1;{temp[k++]=source[i++];}while (j!=end+1){temp[k++]=source[j++];}for(i=start;i<=end;i++) //别忘记等号,因为是下标,所以应到对应的下表下;source[i]=temp[i];}void mergesort(int source [],int temp[],int start,int end) //start end ,mid 都是数组的下标{int mid;if(start<end){mid=(start+end)/2;mergesort(source,temp,start,mid);mergesort(source,temp,mid+1,end); //先回溯在进行划分 merge(source,temp,start,mid,end); //进行归并}}int main(){int n,i;int temp[100],source[100];printf("输入数值个数:");scanf("%d",&n);printf("输入数值:");for(i=0;i<n;i++)scanf("%d",&source[i]);mergesort(source,temp,0,n-1); //是n-1 因为是下标printf("排序后的数组:\n");for(i=0;i<n;i++)printf("%d\t",source[i]);putchar('\n');return 0;}
0 0
- 归并排序-归并排序
- 归并和归并排序
- 归并与归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 排序::归并
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- Online Judge System For SzNOI 题库 语法百题 C++ d001
- 北京数字认证股份有限公司-数字证书认证管理解决方案
- RSA算法理解
- 素数线性筛选
- 解决apache无法启动:undefined symbol: apr_ldap_ssl_init
- 归并排序
- RabbitMQ第一篇——初识RabbitMQ,简单的消息发送和接收
- Unity3d平台脚本预定义编译条件 Platform Dependent Compilation
- hibernate现有项目说明
- Java-发送邮件(附件、图片)---(三)类-Properties、Session、MimeMessage
- HUST-1010
- java中十进制转二进制转换函数
- 构建流数据平台(stream data platform)实践指南-(part 1)
- 移动混合应用Hybrid App开发实战