BST insert Quellcode

AlexIschuk
Mausschubser
Mausschubser
Beiträge: 48
Registriert: 11. Apr 2015 10:22

BST insert Quellcode

Beitrag von AlexIschuk »

Hallo,

wenn ich den code fuer insert ausfuehre, dann wird beim erstmaligem initialisieren eines Baumes neben root auch root.left initialisiert, d.h root.left ist nicht void. Nach wiki fuer insert haette es aber void sein muessen. Fehlt daher im Quellcode fuer insert nicht ein else?
Also

Code: Alles auswählen

 public void insert ( T key ) {
		 
		           BinarySearchTreeNode<T> elem = new BinarySearchTreeNode<T>(key);
		           elem. key = key;
		 
		           if ( root == null )
		               root = elem;
		           else{                                                //Hier das fehlende Else
		           BinarySearchTreeNode<T>  p = root;    //  p != null\
		           
		           while ( true ) {
		                 if ( comp.compare( key, p.key ) <= 0 )
		                     if ( p.left == null ) {
		                         p.left = elem;
		                         return;
		                     }
		                     else
		                         p = p.left;
		                 else
		                     if ( p.right == null ) {
		                         p.right = elem;
		                         return;
		                     }
		                 else
		                     p = p.right;
		               }
		           }
		      }

Gruss
Alex

Zurück zu „Archiv“