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

    [C++] [Alberi] max e min nodi radicati

    codice:
    struct nodo{
    	int info;
    	int min;
    	int max;
    	nodo *left;
    	nodo *right;
    	};
    la seguente funzione dovrebbe, dato il puntatore alla radice di un albero BST, scrivere nei campi max e min di ciascun nodo il valore max e min dei campi info dei nodi in esso radicati... solo che non va... qualcuno è in grado di aiutarmi? grazie!

    codice:
    void aggiorna(nodo *t, int &max, int &min){
    	if (t==NULL){
    		max=0;
    		min=0;
    	}else{
    		if ((t->left == NULL) && (t->right == NULL)){
    				max = t->info;
    				min = t->info;
    			    return;
    		}
    		if(t->left != NULL)
    			aggiorna(t->left,max,min);
    		if(t->right !=NULL)
    			aggiorna(t->right,max,min);
            if (max < t->info)
    			max=t->info;
    		if(min>t->info)
    			min=t->info;			
    		
    		
    	}
    	
    		
    	
    	}
    Powered by MacOSX Lion

  2. #2
    ho dato una sistemata solo che ancora non va... un aiutino...
    codice:
    void aggiorna(nodo *&t){
    	if (t==NULL){
    		return;
    	}else{
    		if ((t->left == NULL) && (t->right == NULL)){
    				t->max = t->info;
    				t->min = t->info;
    			    return;
    		}
    			aggiorna(t->left);
    			aggiorna(t->right);
            if(t->left != NULL){
    		if (t->left->max < t->info){
    			t->max = t->left->max;
    		}
    	     if (t->left->min > t->info){
    			t->min = t->left->min;
    		}
    		}
    		if(t->right!=NULL){
    		if (t->right->max < t->info){
    			t->max = t->right->max;
    		}
    
    		if (t->right->min > t->info){
    			t->min = t->right->min;
    		}
    		}
    		}			
    	
    		
    	}
    Powered by MacOSX Lion

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.