
数据结构笔记
lizy_fish
这个作者很懒,什么都没留下…
展开
-
使用栈实现汉诺塔求解(C++源码)
汉诺塔的核心就是一句话,要把src的第n个碟子移动到dst,需要三步:1,把n-1个碟子移动到buffer2,把第n个碟子移动到dst3,把buffer中的碟子移动到dst实现的核心代码如下:if(_n > 0){ move(_n - 1, _src, _buffer, _dst); int d = stks[_src].top(); stks[_src].pop(); stks[_dst].push(d); move(_n - 1, _buffer原创 2020-08-04 17:05:18 · 1315 阅读 · 0 评论 -
格雷码的位置变化序列
数据结构、算法与应用C++语言描述第一章:26题编写一个C++递归函数,实现输出格雷码的位置变化序列。代码实现:#include <algorithm>#include <iterator>#include<vector>template<typename T>void Func(int n, std::vector<T>& g){ // 基础部分 if (n == 1) { g.push_back(1);原创 2020-06-28 11:23:33 · 361 阅读 · 0 评论 -
子集生成方法Subset Generation
数据结构、算法与应用C++语言描述第一章:24题编写一个C++递归函数,输入n个元素,输出所有的子集。#include <algorithm>#include <iterator>#include<vector>template<typename T>void Func(std::vector<T>& s, int i, int n){ // 基础部分(终止递归条件) if (n == i) { std::copy原创 2020-06-28 10:51:10 · 422 阅读 · 0 评论