全排列算法
来源:互联网 发布:8051 单片机内部实现 编辑:程序博客网 时间:2024/06/05 19:56
如果给定N个不同字符,将这N个字符全排列,最终的结果将会是N!种。如:给定A,B,C三个不同的字符,则输出:ABC,ACB,BAC,BCA,CAB,CBA
#include <stdio.h>
#include <stdlib.h>typedef struct node
{
int location;
int isUsed;
}Node;
void swap(Node *a,Node *b)
{
Node temp;
temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int n;
char str[27]={'a','b','c','d','e','f','g','h','i','j','k',
'l','m','n','o','p','q','r','s','t','u','v',
'w','x','y','z'};
scanf("%d",&n);
Node node[n];
for(int i=0;i<n;i++)
{
node[i].isUsed = 0;
node[i].location = i;
}
for(int i=0;i<n;i++)
{
if(node[i].isUsed==0)
{
for(int j=node[i].location+1;j<n;j++)
{
swap(&node[i],&node[j]);
for(int i=0;i<n;i++)
{
// printf("%d\n",node[i].location);
printf("%c",str[node[i].location]);
}
printf("\n");
}
}
}
getchar();
getchar();
//printf("%d",node[0].location);
}
文章由http://www.400815.com原创,转载请注明。
0 0
- 排列与全排列算法
- 全排列算法
- 全排列算法总结
- 全排列算法
- 全排列javascript算法
- [self] 全排列算法
- C# 全排列算法
- 全排列算法
- 全排列算法大全
- 全排列算法
- 全排列递归算法
- 全排列算法设计
- 全排列算法
- 全排列算法
- 全排列算法
- 一个全排列算法
- 全排列算法
- java 全排列算法
- C语言—scanf函数、sizeof、三木运算、各种运算符
- cpp反汇编之数组
- Shader error in 'xxx': Arithmetic instruction limit of 64 exceeded....的解决方法
- 用import改变行为之条件编译
- C++预处理器详解
- 全排列算法
- CentOS 6.x安装Metasploit
- android.view.InflateException....Error inflating class...
- php打印一些图形
- C语言—switch、while、do while、for、break和countinue
- CSU1552: Friends(快速判断大数是不是素数+二分匹配)
- Jquery实际应用,判断radio,selelct,checkbox是否选中及选中的值
- UVa 10136 - Chocolate Chip Cookies
- i2c设备与驱动匹配过程