单词的全排列同时去重复的元素
来源:互联网 发布:网上送花怎么送 知乎 编辑:程序博客网 时间:2024/05/17 10:07
主要用到回溯算法,用排列树框架
#include<iostream>
#include<stdlib.h>using namespace std;
char test[200][20];
//int n;
int count1;
inline void swap(char *s,char *t){
char temp;
temp=*s;
*s=*t;
*t=temp;
}
void dfs(int t,char *c,int n){
if(t==(n)){
//输出单词
c[t]='\0';
int i=0;
for(;i<count1;i++){
if(strcmp(c,test[i])==0)
break;
}
if(i==count1){
strcpy(test[count1++],c);
cout<<c<<endl;
}
//c[0]='\0';
return ;
}
else
{
//产生前缀
for(int i=t;i<n;i++){
swap(&c[t],&c[i]);
dfs(t+1,c,n);
//回溯
swap(&c[t],&c[i]);
}
}
}
int main(){
char word[20];
cin>>word;
int n;
//memset(test)
char temp[20];
n=strlen(word);
cout<<endl<<endl;
//cout<<n;
strcpy(temp,word);
dfs(0,temp,n);
cout<<count1;
return 0;
}
0 0
- 单词的全排列同时去重复的元素
- 有重复元素的全排列
- 含重复元素的全排列
- 有重复元素的全排列
- 含重复元素序列的全排列
- 有重复元素的全排列问题
- 含有重复元素的全排列
- 有重复元素的全排列问题
- 含重复元素的全排列
- 有重复元素的全排列问题
- 有重复元素的全排列
- 包含重复元素的全排列
- 有重复元素的全排列问题
- 带重复元素的全排列
- DFS-带重复元素的全排列
- 如何得到有重复元素的不重复全排列
- 输出一组元素的全排列(可包含重复元素)
- 全排列-去重复
- 概念词典
- 蓝桥杯 (nyoj977)最大的最小公倍数(数论)
- MVC1,MVC2简析
- 支付平台风控系统架构模型设计
- SQL入门
- 单词的全排列同时去重复的元素
- 手机棋牌游戏开发的3个小点
- 性能调优攻略
- windows下的dll库
- 数论的一些函数
- I/O子系统:select,poll,epoll,kqueue, iocp(Windows)及各种I/O复用机制 模式Reactor Proactor
- HDU 2199
- IT行业经典电子书和教程下载~
- 过去都是昙花一现