博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
全排列
阅读量:4547 次
发布时间:2019-06-08

本文共 480 字,大约阅读时间需要 1 分钟。

#include <stdio.h>

int t[7];

char s[7];
int n = 0;

void permutation(int i)

{
int k;

// a~z的ASCII码在97到122之间

for(k = 97; k < 123; k++)
{
if(t[k])
{
t[s[i] = k]--;
permutation(i + 1);
t[k]++;
}
}

// 只有n个字母全部排好了才输出

n - i || puts(s);
}

int main()

{
int i;

puts("Please Input letter sequence: ");

gets(s);

// t[]记录每个字母的出现频率

// n为待排序列的长度
for(i = 0; s[i] != '\0'; i++)
{
t[s[i]]++;
n++;
}

puts("排列 result: ");

permutation(0);

return 0;

}

转载于:https://www.cnblogs.com/dourcer/p/7976838.html

你可能感兴趣的文章
java,枯燥中遇见美丽JFrame,窗体(边界布局)
查看>>
浅谈 Python 的 with 语句
查看>>
使用koa+angular+mysql 完成了一个企业站
查看>>
SQL使用范例
查看>>
转 SQL集合函数中利用case when then 技巧
查看>>
SQL经典语句二
查看>>
IIS6/7/8 WEBserver不能訪问grf报表模板文件的问题
查看>>
常用居中方法记录
查看>>
JS如何判断是不是iphoneX
查看>>
矩阵乘法
查看>>
WEB ICON 的探讨
查看>>
关于.Net中的反射使用入门
查看>>
[内核编程] 键盘过滤第一个例子ctrl2cap(4.1~4.4)汇总,测试
查看>>
<转>Spring Test 整合 JUnit 4 使用总结
查看>>
Java读书笔记05 类与对象
查看>>
正则表达式语法 2
查看>>
c# winform 应用程序根据条件阻止窗口关闭
查看>>
转载:简单的php写入数据库类
查看>>
垂直居中的几种实现方法
查看>>
UILabel标签文字过长时的显示方式
查看>>