May 18,2007:
May 18,2007:
There is a sample of exhaustive a char dictionary.
import
java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util. * ;
public class Test {
public static void main(String args[]) {
new Test();
}
String[] chars = { " a " , " b " , " c " } ; // This string array is use to stored char dictionary.
String patternStr = " [a-z][a-z][a-z] " ; // Defined regularexpression to match traverse/ergod result
String output = "" ;
Set set = new TreeSet(); // Set store distinct record into is reason for/why defined a tree set rather then array list.
Pattern pattern = Pattern.compile(patternStr);
public Test() {
int j = chars.length;
search( 0 ,chars,output);
for (Iterator it = set.iterator();it.hasNext();) {
System.out.println(it.next());
}
}
public void search( int i,String[] chs,String output) {
if (i == chars.length) {
Matcher matcher = pattern.matcher(output);
if (matcher.matches()) {
set.add(output);
}
return ;
}
for ( int j = 0 ; j < chars.length;j ++ ) { // ergod the char dictionary
output = output + chs[j];
search(i + 1 ,chs,output);
output = output.substring( 0 ,output.length() - 1 );
search(i + 1 ,chs,output);
}
}
}
import java.util.regex.Pattern;
import java.util. * ;
public class Test {
public static void main(String args[]) {
new Test();
}
String[] chars = { " a " , " b " , " c " } ; // This string array is use to stored char dictionary.
String patternStr = " [a-z][a-z][a-z] " ; // Defined regularexpression to match traverse/ergod result
String output = "" ;
Set set = new TreeSet(); // Set store distinct record into is reason for/why defined a tree set rather then array list.
Pattern pattern = Pattern.compile(patternStr);
public Test() {
int j = chars.length;
search( 0 ,chars,output);
for (Iterator it = set.iterator();it.hasNext();) {
System.out.println(it.next());
}
}
public void search( int i,String[] chs,String output) {
if (i == chars.length) {
Matcher matcher = pattern.matcher(output);
if (matcher.matches()) {
set.add(output);
}
return ;
}
for ( int j = 0 ; j < chars.length;j ++ ) { // ergod the char dictionary
output = output + chs[j];
search(i + 1 ,chs,output);
output = output.substring( 0 ,output.length() - 1 );
search(i + 1 ,chs,output);
}
}
}
import
java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util. * ;
public class Test {
public static void main(String args[]) {
new Test();
}
String[] chars = { " a " , " b " , " c " } ; // This string array is use to stored char dictionary.
String patternStr = " [a-z][a-z][a-z] " ; // Defined regularexpression to match traverse/ergod result
String output = "" ;
Set set = new TreeSet(); // Set store distinct record into is reason for/why defined a tree set rather then array list.
Pattern pattern = Pattern.compile(patternStr);
public Test() {
int j = chars.length;
search( 0 ,chars,output);
for (Iterator it = set.iterator();it.hasNext();) {
System.out.println(it.next());
}
}
public void search( int i,String[] chs,String output) {
if (i == chars.length) {
Matcher matcher = pattern.matcher(output);
if (matcher.matches()) {
set.add(output);
}
return ;
}
for ( int j = 0 ; j < chars.length;j ++ ) { // ergod the char dictionary
output = output + chs[j];
search(i + 1 ,chs,output);
output = output.substring( 0 ,output.length() - 1 );
search(i + 1 ,chs,output);
}
}
}
import java.util.regex.Pattern;
import java.util. * ;
public class Test {
public static void main(String args[]) {
new Test();
}
String[] chars = { " a " , " b " , " c " } ; // This string array is use to stored char dictionary.
String patternStr = " [a-z][a-z][a-z] " ; // Defined regularexpression to match traverse/ergod result
String output = "" ;
Set set = new TreeSet(); // Set store distinct record into is reason for/why defined a tree set rather then array list.
Pattern pattern = Pattern.compile(patternStr);
public Test() {
int j = chars.length;
search( 0 ,chars,output);
for (Iterator it = set.iterator();it.hasNext();) {
System.out.println(it.next());
}
}
public void search( int i,String[] chs,String output) {
if (i == chars.length) {
Matcher matcher = pattern.matcher(output);
if (matcher.matches()) {
set.add(output);
}
return ;
}
for ( int j = 0 ; j < chars.length;j ++ ) { // ergod the char dictionary
output = output + chs[j];
search(i + 1 ,chs,output);
output = output.substring( 0 ,output.length() - 1 );
search(i + 1 ,chs,output);
}
}
}