Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C++]Cancellazione Albero BST

    Vi posto una mia soluzione la cancellazione di un nodo su un albero BST, siccome in qualche caso non lavoro chiedo a qualche esperto se mi può aiutare a modificare/cambiare radicalmente questa cancellazione.

    codice:
    		void remove_1(node*& z,const int val){
    			node* f;
    			if( z == NULL )// fallisce la ricerca
    				cout << val << " non è presente nell'albero.\n";
    			else if( val < z->item)
    				remove_1(z->sx, val );
    			else if( val > z->item)
    				remove_1(z->dx, val ); //sicuri che si arriva a valore che si vuole cancellare
    			else   {
    				node* to_be_deleted  = z;
    				if(z->sx==NULL)
    					z=z->dx;
    				else if( z->dx==NULL)
    					z=z->sx;
        				else
        				{
        					to_be_deleted=successor(z);
        					f=father(to_be_deleted);
        					z->item=to_be_deleted->item;
        					z->sx=to_be_deleted->sx;
        					z->dx=to_be_deleted->dx;
        					if(f->dx==to_be_deleted)f->dx=NULL;
        					else f->sx=NULL;
        				}
    				delete to_be_deleted;
    			}
    
    			return;
    		}
    lo struct dell'albero è banale

    codice:
    	struct node{
    			int item;
    			node* sx;
    			node* dx;
    			node (int e){item=e;dx=sx=0;}
    		};
    Spero mi possiate autare!! Grazie in anticipo...

  2. #2
    nessuno mi può aiutare?

  3. #3
    possibile che nessuno sappia una cancellazazione su BST?
    o almeno....dove cercare...??

  4. #4
    VVoVe:

  5. #5
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    772
    se torni indietro di qualche pagina trovi un thread sui BST con funzione di cancellazione di un nodo... (era riferito al C)
    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.