转位字算法实现
来源:互联网 发布:gt610数据 编辑:程序博客网 时间:2024/05/29 09:15
package arithmetic;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Anagram
{
static int size;
static int count;
static char[] arrChar=new char[200];
public static void doAnagram(int newSize){
if(newSize==0){
return;
}
for (int i = 0; i < newSize; i++)
{
doAnagram(newSize-1);
if(newSize==2){
displayWord();
}
rotate(newSize);
}
}
private static void rotate(int newSize)
{
int j;
int positiogn=size - newSize;
char temp=arrChar[positiogn];
for (j= positiogn+1; j < size; j++)
{
arrChar[j-1]=arrChar[j];
}
arrChar[j-1]=temp;
}
private static void displayWord()
{
if(count < 99)
System.out.print(" ");
if(count < 9)
System.out.print(" ");
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("");
}
public static String getString() throws IOException
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();
return s;
}
/** 主函数
* @throws IOException
*/
public static void main(String[] args) throws IOException
{
System.out.print("Enter a word: ");
System.out.flush();
String input = getString();
size = input.length();
count = 0;
for(int j=0; j<size; j++)
arrChar[j] = input.charAt(j);
doAnagram(size);
}
}
- 转位字算法实现
- 算法实现
- 算法实现
- 算法和算法实现
- 【算法】扑克发牌算法实现
- Java算法:二分法算法实现
- 《算法导论》算法实现收集
- 【算法】快排算法实现
- 算法导论中算法实现
- 《算法导论》Dijkstra算法实现
- 基数排序算法,讲解+算法实现
- 梅西迭代算法的实现
- 如何实现DES算法
- 银行家算法实现
- CRC算法与实现
- base64算法实现
- A*算法实现
- CRC算法的实现...
- ArcGIS server10.1发布FeatureAccess失败
- 线性代数学习笔记
- Merge Into 语句代替Insert/Update在Oracle中的应用
- java.lang.OutOfMemoryError: Java heap space什么原因
- 《C++ Primer (5th Edition)》笔记-Part I . The Basics
- 转位字算法实现
- <JAVA>手动触发OutOfMemoryError异常
- 移植删除不需要份文件
- 在运行时删除自己进程
- Shell编程基础
- 类的模式信号灯的实现(总结)
- 动态添加dev CheckEdit控件,以及删除。事件处理
- 题目1356:孩子们的游戏(圆圈中最后剩下的数)
- java中IO相关整理