格雷码递归实现(c++)
2015-09-09 15:27
288 查看
void _GrayCode(int n, vector<string>& graySeq) { if(n == 1) { graySeq.push_back("0"); graySeq.push_back("1"); return; } _GrayCode(n-1, graySeq); for(int i=0; i<graySeq.size(); ++i) //前面加0 { graySeq[i] = '0' + graySeq[i]; } for(int i=graySeq.size()-1; i>=0; --i)//前面加1 { string temp = graySeq[i]; temp[0] = '1'; graySeq.push_back(temp); } return; } void GrayCode(int n) { if(n < 1) { cout << "input error。。。" << endl; return; } vector<string> graySeq; _GrayCode(n, graySeq); copy(graySeq.begin(), graySeq.end(), ostream_iterator<string>(cout, "\n")); } int main() { GrayCode(8); return 0; }
相关文章推荐
- C++标准库和标准模板库
- 如何在QML应用中设计一个C++ Model并使用它
- 设计模式C++实现3——适配器模式
- C语言之函数调用
- 写一个只能C编译通过,而C++不能编译通过的函数。
- 你不知道的c语言之为什么数组的大小不能是变量
- C风格字符串和C++string对象的相互转化
- ‘this’ pointer in C++
- [C++11 并发编程] 17 超时等待 - clock和duration
- C++在本地路径下创建一个文件
- 【C++11】final, override,重载,重写覆盖,重写隐藏
- 【C++专题】static_cast, dynamic_cast, const_cast探讨
- C++构造函数的继承
- 深入浅出UML类图二
- C++类
- 计算一个整数有多少个1的函数
- Java 的 interface、abstract class 与 C++ 的多继承、虚基类
- c++ 副本构造器
- 深入浅出UML类图一
- C++——运算符重载(三)