Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 3.09 KB | None | 0 0
  1.     private void Zig_right(No no1, No no2) {
  2.        
  3.         No noTemp = no1.getDireita();
  4.        
  5.         no1.setDireita(no2);
  6.         no1.setPai(null);
  7.        
  8.         no2.setPai(no1);
  9.         no2.setEsquerda(noTemp);
  10.        
  11.         if (noTemp != null)
  12.             noTemp.setPai(no2);
  13.        
  14.         raiz = no1;
  15.     }
  16.    
  17.     private void Zig_left(No no1, No no2) {
  18.        
  19.         No noTemp = no1.getEsquerda();
  20.        
  21.         no1.setEsquerda(no2);
  22.         no1.setPai(null);
  23.        
  24.         no2.setPai(no1);
  25.         no2.setDireita(noTemp);
  26.        
  27.         if (noTemp != null)
  28.             noTemp.setPai(no2);
  29.        
  30.         raiz = no1;
  31.     }
  32.    
  33.     private void ZigZig_right(No no1, No no2, No no3) {
  34.        
  35.         No noTemp = no1.getDireita();
  36.        
  37.         no1.setDireita(no2);
  38.        
  39.         no2.setEsquerda(noTemp);
  40.        
  41.         if (noTemp != null)
  42.             noTemp.setPai(no2);
  43.        
  44.         no2.setPai(no1);
  45.        
  46.         noTemp = no2.getDireita();
  47.         no2.setDireita(no3);
  48.        
  49.         no3.setEsquerda(noTemp);
  50.        
  51.         if (noTemp != null)
  52.             noTemp.setPai(no3);
  53.        
  54.         noTemp = no3.getPai();
  55.        
  56.         no3.setPai(no2);
  57.        
  58.         no1.setPai(noTemp);
  59.        
  60.         if (noTemp != null) {
  61.            
  62.             if (noTemp.getDireita().equals(no3))
  63.                 noTemp.setDireita(no1);
  64.             else
  65.                 noTemp.setEsquerda(no1);
  66.            
  67.            
  68.         } else {
  69.             raiz = no1;
  70.         }
  71.     }
  72.    
  73.     private void ZigZig_left(No no1, No no2, No no3) {
  74.        
  75.         No noTemp = no1.getEsquerda();
  76.        
  77.         no1.setEsquerda(no2);
  78.        
  79.         no2.setDireita(noTemp);
  80.        
  81.         if (noTemp != null)
  82.             noTemp.setPai(no2);
  83.        
  84.         no2.setPai(no1);
  85.        
  86.         noTemp = no2.getEsquerda();
  87.        
  88.         no2.setEsquerda(no3);
  89.        
  90.         no3.setDireita(noTemp);
  91.        
  92.         if (noTemp != null)
  93.             noTemp.setPai(no3);
  94.        
  95.         noTemp = no3.getPai();
  96.        
  97.         no3.setPai(no2);
  98.        
  99.         no1.setPai(noTemp);
  100.        
  101.         if (noTemp != null) {
  102.            
  103.             if (noTemp.getDireita().equals(no3))
  104.                 noTemp.setDireita(no1);
  105.             else
  106.                 noTemp.setEsquerda(no1);
  107.            
  108.            
  109.         } else {
  110.             raiz = no1;
  111.         }
  112.     }
  113.    
  114.     private void ZigZag_right(No no1, No no2, No no3) {
  115.        
  116.         No noTemp1 = no1.getDireita();
  117.         No noTemp2 = no1.getEsquerda();
  118.        
  119.         no1.setDireita(no2);
  120.         no2.setPai(no1);
  121.        
  122.         no1.setEsquerda(no3);
  123.         no1.setPai(no3.getPai());
  124.         no3.setPai(no1);
  125.        
  126.         no2.setEsquerda(noTemp1);
  127.        
  128.         if (noTemp1 != null)
  129.             noTemp1.setPai(no2);
  130.        
  131.         no3.setDireita(noTemp2);
  132.        
  133.         if (noTemp2 != null)
  134.             noTemp2.setPai(no3);
  135.        
  136.         if (no1.getPai() != null) {
  137.            
  138.             if (no1.getPai().getDireita() != null &&
  139.                     no1.getPai().getDireita().equals(no3))
  140.                 no1.getPai().setDireita(no1);
  141.             else
  142.                 no1.getPai().setEsquerda(no1);
  143.            
  144.            
  145.         } else {
  146.             raiz = no1;
  147.         }
  148.     }
  149.    
  150.     private void ZigZag_left(No no1, No no2, No no3) {
  151.        
  152.         No noTemp1 = no1.getEsquerda();
  153.         No noTemp2 = no1.getDireita();
  154.        
  155.         no1.setEsquerda(no2);
  156.         no2.setPai(no1);
  157.        
  158.         no1.setDireita(no3);
  159.         no1.setPai(no3.getPai());
  160.         no3.setPai(no1);
  161.        
  162.         no2.setDireita(noTemp1);
  163.  
  164.         if (noTemp1 != null)
  165.             noTemp1.setPai(no2);
  166.        
  167.         no3.setEsquerda(noTemp2);
  168.        
  169.         if (noTemp2 != null)
  170.             noTemp2.setPai(no3);
  171.        
  172.         if (no1.getPai() != null) {
  173.            
  174.             if (no1.getPai().getDireita() != null &&
  175.                     no1.getPai().getDireita().equals(no3))
  176.                 no1.getPai().setDireita(no1);
  177.             else
  178.                 no1.getPai().setEsquerda(no1);
  179.            
  180.            
  181.         } else {
  182.             raiz = no1;
  183.         }
  184.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement