全排列问题
来源:互联网 发布:武极天下神迹进阶数据 编辑:程序博客网 时间:2024/06/07 00:54
无重复的全排列:
#include<stdio.h>#define n 3void dfs(int a[],int t){if(t==n){for(int i=0;i<n;i++){printf("%d\t",a[i]);}printf("\n");return ;}for(int i=t;i<n;i++){int temp=a[i];a[i]=a[t];a[t]=temp;dfs(a,t+1);temp=a[i];a[i]=a[t];a[t]=temp;}}int main(){int a[100];for(int i=0;i<n;i++){a[i]=i+1;}dfs(a,0);return 0; }
有重复的全排列:
#include <stdio.h>#include <string.h>#include <iostream>using namespace std;int count;bool judge(char arr[],int a,int b){bool flag=true;for(int i=a;i<b;i++){if(arr[i]==arr[b])flag=false;}return flag;}void function(char arr[],int a,int b){if(a==b){count++;for(int i=0;i<b;i++)printf("%c ",arr[i]);printf("\n");return;}else{for(int i=a;i<b;i++){if(judge(arr,a,i)){swap(arr[a],arr[i]);function(arr,a+1,b);swap(arr[a],arr[i]);}}}}int main(){char arr[100];int m;while(scanf("%d",&m)!=EOF){getchar();count=0;memset(arr,0,sizeof(arr));gets(arr);function(arr,0,m);printf("%d\n",count); }}
0 0
- 全排列问题
- 全排列问题
- 字符串全排列问题
- 全排列问题
- 字符串全排列问题
- 全排列问题实现
- 全排列问题
- 全排列问题
- 递归 全排列 问题
- 全排列问题
- 全排列问题
- 全排列问题浅谈
- 全排列问题
- 全排列问题
- 全排列问题
- 全排列问题
- 全排列问题(0907)
- 全排列问题
- 关于日期筛选的完结版
- apc缓存
- leetcode-114. Flatten Binary Tree to Linked List
- Android -面向对象开发思维模式-帮助你逃离面向过程的开发的痛苦深渊
- Failed to initialize storage module: user 的解决方案
- 全排列问题
- 数据结构与算法JavaScript描述[第五章](队列)
- Xshell远程控制linux
- 006_深入浅出mysql—触发器
- linux crontab & 每隔10秒执行一次
- ideal15的创建maven项目
- A Structure from Motion System
- MFC 获取字符串的第n个字符
- iOS 修改TabBar的高度