Guest User

Untitled

a guest
Sep 24th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. Module valDistinctes (arbre : ArbreNaire<chaine>, listCh (OUT) : ListeChainee<chaine>) -> entier
  2. tmp : chaine
  3. i, max : entiers
  4. max <- 0
  5. noeud : NoeudNaire<chaine>
  6. file <- nouvelle FileListe< NoeudNaire <chaine> > : FileListe< NoeudNaire <chaine> >
  7. list <- nouvelle Liste<chaine> : Liste<chaine>
  8. listCh <- nouvelle ListeChainee<chaine> : ListeChainee<chaine>
  9. map <- nouvelle TableHachageAvecAdressageOuvert <chaine, entier> : TableHachageAvecAdressageOuvert <chaine, entier>
  10.  
  11. Si (arbre.getRacine() != rien) alors
  12. file.put(arbre.getRacine())
  13. Fin si
  14. Tant que Non file.estVide() faire
  15. tmp <- (file.get()).getValeur()
  16. Si (map.containsKey(tmp)) alors
  17. map.put(tmp, (remove(tmp)+1))
  18. Sinon
  19. map.put(tmp, 1)
  20. Fin si
  21. noeud <- file.remove()
  22. Pour i de 1 à noeud.getNbFils() faire
  23. Si (noeud.getFils(i) != rien) alors
  24. file.put(noeud.getFils(i))
  25. Fin si
  26. Fin pour
  27. Fin Tant que
  28.  
  29. list <- map.keys()
  30. Pour i de 1 à list.size() faire
  31. Si (max < map.get(list.get(i))) alors
  32. max <- map.get(list.get(i))
  33. vider(listCh)
  34. listCh.insererTete(list.get(i))
  35. Sinon
  36. Si (max = map.get(list.get(i)) alors
  37. listCh.insererTete(list.get(i))
  38. Fin si
  39. Fin si
  40. Fin pour
  41.  
  42. retourner list.size()
  43. Fin module
  44.  
  45. Module vider (listCh (IN-OUT) : ListeChainee<chaine>)
  46. i : entier
  47. Pour i de 1 à listCh.taille() faire
  48. listCh.supprimerTete()
  49. Fin pour
  50. Fin module
Add Comment
Please, Sign In to add comment