回溯(排列组合)
2015-12-10 11:36
162 查看
#include "iostream" #include "vector" using namespace std; void print(vector<int>Array) { int i; for(i=0;i<Array.size();i++) { cout<<Array[i]<<" "; } cout<<endl; } void swap(vector<int>&Array,int i,int j) { int temp; temp = Array[i]; Array[i] = Array[j]; Array[j] = temp; } void backtrack(int i,vector<int>Array) { if(i>=Array.size()) { print(Array); } for(int j=i;j<Array.size();j++) { swap(Array,i,j); backtrack(i+1,Array); swap(Array,i,j); } } int main() { vector<int>Array; int N,i; cout<<"please input num N:N="; cin>>N; for(i=0;i<N;i++) { Array.push_back(i+1); } backtrack(0,Array); return 0; }
相关文章推荐
- android沉浸(透明状态栏)
- [Javascript] Json
- 最优配对问题
- 模版资源
- JSON序列化与反序列化到文件
- Docker搭建Java Web运行环境
- js按回车事件提交
- IOS开发资源
- <html5+css3+js>各种事件
- 设置无标题&设置不显示状态栏
- Scala简明教程
- UVa 725 简单枚举+整数转换为字符串
- Cocos2D-X shader(二) OpenGL渲染管线
- Linux中启动Tomcat:Permission denied 问题
- Hibernate基础数据类型
- Mac osx 10.10.5上安装NGINX
- UVa 725 简单枚举+整数转换为字符串
- 对面向对象的了解(转自网上)
- IIS上部署MVC网站,打开后ExtensionlessUrlHandler-4.0
- MD5加密