
递归-B-变位字:排列所有组合
发布日期:2021-05-16 15:22:33
浏览次数:17
分类:精选文章
本文共 1896 字,大约阅读时间需要 6 分钟。
AnagramApp - 变位字生成工具 变位字生成工具
通过递归算法生成所有可能的字符排列
生成结果
已生成 0 个变位字
总字数: 0 个字
总次数: 0 次
package anagram;public class AnagramApp { static int size; static int count; static char[] arrChar = new char[100]; public static void main(String[] args) throws IOException { System.out.print("Enter a word:"); String input = getString(); size = input.length(); count = 0; for (int j = 0; j < size; j++) { arrChar[j] = input.charAt(j); } doAnagrams(size); } private static void doAnagrams(int newSize) { if (newSize == 1) { return; } for (int j = 0; j < newSize; j++) { doAnagrams(newSize - 1); if (newSize == 2) { displayWord(); } rotate(newSize); } } private static void rotate(int newSize) { int j; int position = size - newSize; char temp = arrChar[position]; for (j = position + 1; j < size; j++) { arrChar[j - 1] = arrChar[j]; } arrChar[j - 1] = temp; } private static void displayWord() { System.out.print(++count + " "); for (int j = 0; j < size; j++) { System.out.print(arrChar[j]); } System.out.print(" "); System.out.flush(); if (count % 6 == 0) { System.out.println(" "); } } private static String getString() throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); return br.readLine(); }}
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年05月08日 21时52分02秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
04_Mysql配置文件(重要参数)
2019-03-06
JavaSE总结
2019-03-06
Python IO编程
2019-03-06
CSS入门总结
2019-03-06
使用 TortoiseGit 时,报 Access denied 错误
2019-03-06
基于 HTML5 WebGL 的污水处理厂泵站自控系统
2019-03-06
c++之程序流程控制
2019-03-06
spring-boot-2.0.3之redis缓存实现,不是你想的那样哦!
2019-03-06
有道云笔记 同步到我的博客园
2019-03-06
李笑来必读书籍整理
2019-03-06
Hadoop(十六)之使用Combiner优化MapReduce
2019-03-06
《机器学习Python实现_10_06_集成学习_boosting_gbdt分类实现》
2019-03-06
CoreCLR源码探索(八) JIT的工作原理(详解篇)
2019-03-06
C语言编译错误列表
2019-03-07
看明白这两种情况,才敢说自己懂跨链! | 喵懂区块链24期
2019-03-07
python中列表 元组 字典 集合的区别
2019-03-07
Android DEX加固方案与原理
2019-03-07
iOS_Runtime3_动态添加方法
2019-03-07