Construction d'anagrammes

Contenu du snippet

ce soft permet a partir d'une chaine de sortir la liste des anagrammes possibles en evitant les redondances.

Source / Exemple :


import java.util.ArrayList;
import java.util.LinkedList;

public class Anagramme {
	

	/**

  • @param t
  • @param saut
  • @param size
  • @return
  • /
public static ArrayList<String> generer(ArrayList<String> t) { String racine; ArrayList <String> ch= new ArrayList <String>(); ArrayList <String> h= new ArrayList <String>(); ArrayList <String> result= new ArrayList <String>(); LinkedList <String> ret= new LinkedList <String>(); int i, a; if (t.size() == 1) { return t; } else { for (i = 0; i < t.size(); i++) { racine = t.get(i); if (ret.indexOf( racine)>=0){ }else { ret.add( racine ); h.clear() ; h.addAll( t); try{ h.remove( i);} catch (Exception e){System.out.println(e.getMessage()+t.size() );} a = result.size(); ch = generer(h); result.addAll(ch); for (int j = a; j < result.size(); j++) { result.set(j, racine + result.get(j)); } } } return result; } } public static void main(String[] args){ ArrayList <String> po=new ArrayList <String >(); ArrayList <String> pan= new ArrayList <String >(); po.add( "e"); po.add( "s"); po.add( "s"); po.add( "a"); po.add( "i"); pan=Anagramme.generer( po ); for (int i=0;i<pan.size() ;i++){ System.out.println(pan.get(i) ); } System.out.println(pan.size() ); } }

Conclusion :


Si vous avez des trucs a ajouter faites moi signe. Je ne l'ai pas finalisé actuellement il affiche les differents anagrammes dans la console mais vous pouvez les charger dans une arraylist je vous en laisse le soin

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.