算法
酷不酷炫
可爱的小辣鸡
展开
-
利用自然分组的合并排序(C语言)
合并排序算法是用分治策略实现对n个元素进行排序的算法。其基本思想是:将待排元素分成大小大致相同的两个子集合,分别对这两个子集合进行排序,最终将排好序的子集合合并成所要求的排好序的集合。其中,算法Merge合并两个排好序的数组段到一个新的数组b中,然后由Copy将合并后的数组段再复制回数组a中。对于MergeSort,可以从分治策略的机制入手,容易消除算法的递归。事实上...原创 2019-04-10 18:34:21 · 1014 阅读 · 0 评论 -
全排列元素(C语言实现)
求list[l:r]的元素全排列大概思想就是让[l:r],变量i从l到r,也就是数组中的元素轮流来当第一位,然后递归着求list[l+1:r]的全排列,直至到末尾触碰到了边界就直接输出list[l:r],也就是他的一种情况。 但是要注意的是当变量换位递归结束了之后要换回原来的数组状态,这样才能保证每个元素都轮流存在过一个位置。 具体代码:#include <std...原创 2019-04-10 18:36:15 · 347 阅读 · 0 评论