博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构、排序算法、归并排序
阅读量:6643 次
发布时间:2019-06-25

本文共 762 字,大约阅读时间需要 2 分钟。

hot3.png

//将有序子序列合并成大序列void mergeSub(int *a, int start, int middle,int end){	//申请辅助空间	int len = end - start + 1;	int *b = new int[len];	int i = start;	int j = middle + 1;	int k = 0;	while (i<=middle && j<=end)	{		b[k++] = a[i] < a[j] ? a[i++] : a[j++];	}	while (i<=middle)	{		b[k++] = a[i++];	}	while (j<=end)	{		b[k++] = a[j++];	}	for (int i = 0; i < len;i++)	{		a[start++] = b[i];	}	delete[]b;}//归并排序--递归实现(自顶向下)void mergeSort(int *a, int start,int end){	int middle = (start + end) / 2;	if (start==end)	{		return;	}	mergeSort(a, start, middle);	mergeSort(a, middle + 1, end);	mergeSub(a, start, middle, end);}//归并排序--迭代实现(自底向上)void mergeSortIterator(int *a, int start, int end){	int length = 1;   //子序列的长度	while (length

 

转载于:https://my.oschina.net/u/3397950/blog/1791469

你可能感兴趣的文章
kibana发音 logstash发音 ElasticSearch发音 音标 翻译
查看>>
Web 通信 之 长连接、长轮询(long polling)
查看>>
Python数据处理(持续更新)
查看>>
关于fastjson在序列化成JSON串时字段增加的问题
查看>>
meterpreter基本命令
查看>>
Java多线程
查看>>
python中的时间戳,与MySQL的时间戳的,对应与匹配
查看>>
构造函数(构造器)的正确重载方式------类
查看>>
mysql 存储过程动态执行sql语句
查看>>
Newtonsoft.Json 序列化和反序列化 时间格式
查看>>
java中数据的传递方式到底是怎样的!
查看>>
dp和px的转换
查看>>
手机视频如何下载到本地电脑
查看>>
php基础知识【函数】(9)数学和对象类函数
查看>>
java中this用法
查看>>
1.4 双向循环链
查看>>
遗留的问题,
查看>>
地址,
查看>>
RegexHelper(正则表达式)
查看>>
ORACLE中 schema 和 user 区别
查看>>