递归
文章平均质量分 72
空穴来风
这个作者很懒,什么都没留下…
展开
-
递归:打印一个序列先入栈再出栈的所有可能
题目:一个序列,比如1,2,3。1入栈之后,有两种情况:一、2入栈;二、1出栈到目标数组。在程序执行的每个时刻都存在这两种肯能,因而会导致打印的结果不一样。要求:打印出所有可能的输出序列 思路:递归遍历所有解空间,注意递归的时候要恢复每步的环境。我程序采用三个数组,源序列src[ ],模拟栈st[ ],目标数组dest[ ](也就是最后要打印的数组)。其中st[0]和dest[0]分别表示当前数原创 2012-05-19 20:55:46 · 4066 阅读 · 1 评论 -
排列组合算法的递归实现
复习一下排列组合 1.排列较为简单,代码如下: void perm(string &str, int k) { int size = str.size(); if (k == size - 1) cout << str << endl; else { for (int i = k; i < size; ++i) { swap(str.at(i), str.at(k))原创 2012-10-19 11:22:14 · 4987 阅读 · 1 评论