030.字符排列

Posted 程序员编程指南

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了030.字符排列相关的知识,希望对你有一定的参考价值。

/* 字符串的所有字符排列函数,用已知字符串s中的所有字符,生成由其中n个字符组成的所有字符排列 */
#define N 20
char w[N];
perm(int n, char *s)

	char s1[N];
	int i;
	if(n<1)
		printf("%s\\n",w); /* 一个排列生成输出 */
	else
	
		strcpy(s1,s);	/* 保存本层次可使用的字符 */
		for(i=0;*(s1+i);i++)	/* 依次选本层次可用字符 */
		
			*(w+n-1)=*(s1+i);/* 将选用字符填入正在生成的字符排列中 */
			*(s1+i)=*s1;
			*s1=*(w+n-1);
			perm(n-1,s1+1);	 /* 递归 */
		
	

main()

	int n=2;
	char s[N];
	w[n]='\\0';
	clrscr();
	printf("This is a char permutation program!\\nPlease input a string:\\n");
	scanf("%s",s);
	puts("\\nPlease input the char number of permuted:\\n");
	scanf("%d",&n);
	puts("The permuted chars are:\\n");
	perm(n,s);
	puts("\\nPress any key to quit...");
	getch();

以上是关于030.字符排列的主要内容,如果未能解决你的问题,请参考以下文章

030:spaceless和autoescape 标签

leetcode python 030 Substring with Concatenation of All Words

BZOJ1081超级格雷码

AtCoder Grand Contest 030 (AGC030) C - Coloring Torus 构造

ST32G030C8T6 啥意思

求教stm32f030 HAL库,怎么关闭和打开所有中断