2_算法_全排列
来源:互联网 发布:诲汝知之乎悔的读音 编辑:程序博客网 时间:2024/06/14 15:55
用回溯法来输出全排列
1.C++
// 2_全排列回溯+DFS.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<iostream>using namespace std;int arr[5];int status[5];int num;void DFS(int arr[], int status[],int step){if (step == num+1){for (int i = 1; i <= num; i++){cout << arr[i] << "|";}cout << endl;return;}for (int i = 1; i <= num; i++){if (status[i] == 0){status[i] = 1;arr[step] = i;DFS(arr, status, step + 1);status[i] = 0;}}}int main(){while (1){cout << "个数:" << endl;cin >> num;for (int i = 1; i <= num; i++){//arr[i] = i;status[i] = 0;}DFS(arr, status, 1);} return 0;}
2.java
import java.util.Scanner;public class Main {public static void DFS(int[] arr,int[] status,int step,int num){if(step==num+1){for(int c:arr)System.out.print(c+"|");System.out.println();return;}for(int i=1;i<=num;i++){if(status[i]==0){status[i]=1;arr[step]=i;DFS(arr,status,step+1,num);status[i]=0;}}}public static void main(String[] args) {// TODO Auto-generated method stubScanner sc=new Scanner(System.in);while(true){System.out.println("请输入个数:");int num=sc.nextInt();int[] arr=new int[num+1];int[] status=new int[num+1];for(int c:status){status[c]=0;}DFS(arr,status,1,num);}}}
0 0
- 2_算法_全排列
- 啊哈算法_全排列
- 1120_全排列
- 全排列思想 实现_ _ _ + _ _ _ = _ _ _解法
- 蓝桥杯_凑算式_全排列
- 递归8_全排列
- 字符串的全排列_全组合
- 数据结构_递归算法的应用_打印n个数的全排列数
- 算法竞赛_排列_C++
- 迅雷笔试题_实现全排列
- 递归学习_组合_全组合排列
- hdu _ 1.3.7_排列2
- STL_算法_排列(prev_permutation、next_permutation)
- 全排列_问题(含重复元素)
- 全排列_蓝桥杯问题+一点对递归的看法
- 无重复全排列_非递归实现
- 13_栈的递归实例4---全排列
- C递归_全排列问题 & 异或^的陷阱
- mac android studio freeline 踩到的坑
- Serverless技术架构——极简运维,无限扩容
- mysql忘记密码以及修改密码
- 百度2017春招笔试 [编程题] 买帽子
- BZOJ 3744: Gty的妹子序列
- 2_算法_全排列
- Maven开发笔记(五)—— Maven中classifier
- 初识JavaScript
- linux下采用ps、jps、jstack检测内存、cpu只升不降,导致系统崩溃
- 第八届省赛f题
- 0010、node 之区分管理员与非管理员
- mqf_CentOS 6.8_Linux安装
- Numpy 中 dtype 支持的数字类型
- 计算机视觉与图像:八大热点公司以及九大应用场景