c++实现gray code(格雷码)
2016-01-07 20:37
302 查看
今天别人问的一道题,强调用分治法实现 =。=
百度了一下格雷码,然后写了一下。
关于格雷码大家看百度的吧,特别详细,贴个图:
代码如下(header_file.h是我自己写的一个头文件,包括常见的vector iostream等):
最后:过程是重要的,代码只是你逻辑的体现 -。-
百度了一下格雷码,然后写了一下。
关于格雷码大家看百度的吧,特别详细,贴个图:
代码如下(header_file.h是我自己写的一个头文件,包括常见的vector iostream等):
#include"header_file.h" using namespace std; vector<string> gray_code(int n) { if(n==1) { vector<string> v; v.push_back("0"); v.push_back("1"); return v; } else { vector<string> v; vector<string> v1; v1=gray_code(n-1); for(int i=0;i<v1.size();i++) { v.push_back("0"+v1[i]); } for(int i=(v1.size()-1);i>-1;i--) { v.push_back("1"+v1[i]); } return v; } } int main(int argc,char *argv[]) { int n; cout<<"input n:"; cin>>n; vector<string> v; v=gray_code(n); for(int i=0;i<v.size();i++) { cout<<v[i]<<endl; } }
最后:过程是重要的,代码只是你逻辑的体现 -。-
相关文章推荐
- FileTool.exe 替换 Visual C++ 中的打开和添加到项目功能
- 《C++Primer 5e》学习笔记(6):类
- c++ 优秀文章
- 【C++11新特性】 nullptr关键字
- C和C++内存管理详解
- 欢迎使用CSDN-markdown编辑器
- explicit C++关键字
- C++错误调试集锦
- ubuntu 安装 GCC 和 G++ C++ 开发环境
- 新手学习C++笔记6:头文件和析构函数
- POJ 1007_DNA Sorting
- C语言之理解main 参数意义
- c++ 与C#比较
- 分享C++/C如何开机自动启动代码和c的改错题
- C++ 键盘钩子
- C语言socket 蓝牙文件传输
- 一般PID的C语言实现
- 利用ucontext.h中接口实现用户级别线程库
- C++在Win32中重定向输出数据到控制台
- C++11:std::move和std::forward源码分析