Advertisement
Guest User

pinaaribuu

a guest
Feb 1st, 2015
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. public class BinaryTree{
  2. //Luodaan puun "juuri" solu. Null jos puu on tyhjä.
  3. private Solu juuri;
  4.  
  5. //Jokaisella solulla on vasen ja oikea "lapsi", jotka voivat myös olla null.
  6. private static class Solu{
  7. Solu vas;
  8. Solu oik;
  9. int data;
  10.  
  11. Solu(int uusiData){
  12. vas = null;
  13. oik = null;
  14. data = uusiData;
  15. }
  16. }
  17.  
  18. //luo tyhjän binaaripuun
  19. public void BinaryTree(){
  20. juuri = null;
  21. }
  22.  
  23. //tarkitsaa rekursiivisesti onko data binaaripuussa, jos on, palauttaa true
  24. public boolean tarkista(int data){
  25. return(tarkista(juuri, data));
  26. }
  27.  
  28. private boolean tarkista(Solu solu, int data){
  29. if (solu==null){
  30. return false;
  31. }
  32. if (data==solu.data){
  33. return true;
  34. }
  35. else if (data < solu.data) {
  36. return(tarkista(solu.vas, data));
  37. } else {
  38. return(tarkista(solu.oik, data));
  39. }
  40. }
  41. // asettaa annetun datan binaaripuuhun
  42. public void aseta(int data){
  43. juuri = aseta(juuri, data);
  44. }
  45.  
  46. private Solu aseta(Solu solu, int data){
  47. if (solu==null){
  48. solu = new Solu(data);
  49. }
  50. else {
  51. if (data <= solu.data){
  52. solu.vas = aseta(solu.vas, data);
  53. }
  54. else {
  55. solu.oik = aseta(solu.oik, data);
  56. }
  57. }
  58.  
  59. return solu;
  60. }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement