小编rfr*_*tag的帖子

合并插入排序是如何工作的?

我目前正在研究排序算法并找到了合并插入排序。我几乎找不到任何东西,但只有几篇论文和书籍参考。所以这个算法是由 Lester Ford, Jr. 和 Selmer Johnson 发现的。这里有部分描述:http : //www2.warwick.ac.uk/fac/sci/dcs/teaching/material/cs341/FJ.pdf

我现在的问题是了解插入部分的工作原理,以及 1、3、5、11 的编号顺序,在如何插入的解释中提到。看着好眼熟,就是想不起来是什么了。

到目前为止,我所拥有的代码是这样的:

//pointer to array, array size, element size, compare function pointer
void sort(void *data, size_t n, size_t s, int (*fcomp)(void*, void*))
{
  if(!data) return;
  if(n < 2 || s == 0) return;

  size_t i = 0, j = 0, k = 0, l = 0, r = 0, m = 0;

  void *be = malloc((n/2)*s); //elements greater in pair comparison
  void *le = malloc((n/2 + n%2)*s);//elements …
Run Code Online (Sandbox Code Playgroud)

c algorithm mergesort insertion-sort

5
推荐指数
1
解决办法
2187
查看次数

标签 统计

algorithm ×1

c ×1

insertion-sort ×1

mergesort ×1