ZKX's LAB

什么是字符串的全排列?概念问题,举例说明一下,谢谢?

2020-08-11知识11

字符串所有排列VC++ 字符串全排列方案1:inline void Swap(char&a,char&b){/交换a和bchar temp=a;a=b;b=temp;}void Perm(char list[],int k,int m){/生成list[k:m]的所有排列方式int i;if(k=m){/输出一个排列方式for(i=0;i;i+)putchar(list[i]);putchar('\\n');}else/list[k:m]有多个排列方式递归地产生这些排列方式for(i=k;i;i+){Swap(list[k],list[i]);Perm(list,k+1,m);Swap(list[k],list[i]);}}方案2:defineN21includeinclude<;string.h>;http://www.mscto.com 声明。chard[N];voidPermutation(chars[],inti,intl);voidSort(chars[]);int count=0;voidmain(){chars[N];输入源字符串。printf(\"请输入一个不超过20个字符的字符串:\");gets(s);软件开发网排序,排列并输出。Sort(s);Permutation(s,0,strlen(s));}运用递归输出各种排列。voidPermutation(chars[],inti,intn){intj;chartemp;for(j=0;j;j)if(s[j]=s[j-1])elseif(s[j]。'#')/如果标志为不为'#',{d[i]=s[j];把源串的一个字符赋给目的串。temp=s[j];s[j]='#';if(i=n-1){d[n]='\\0';printf(\"%d:\",count);打印出其结果。puts(d);}elsePermutation(s,i 1,n);递归调用。s[j]=temp;回溯。}}排序。用按键精灵 作8个字符串的全排列 我将所有的组合都写进去了,有其他疑问可以再提问解答。java 字符串 字母表顺序排列 使用string自带方法:public class Test {public static void main(String args[]){String[]strs={\"Apple\",\"peach\",\"banana\",\"Pear\"};for(int i=0;i;i+){for(int j=i+1;j;j+){int intTemp=strs[i].compareToIgnoreCase(strs[j]);String strTemp=\";if(intTemp>;0){strTemp=strs[j];strs[j]=strs[i];strs[i]=strTemp;}}}for(int i=0;i;i+){System.out.println(strs[i]);}}}

#按键精灵#string

随机阅读

qrcode
访问手机版