public AVL rotG(AVL pere){
		int a, b;
		boolean pos = false;
		AVL tmp = new AVL();
		if(pere != null){
			if(pere.filsD_ == this){
				pos = true;
			}
		}
		tmp = filsD_;
		a = balance_;
		b = tmp.balance_;
		filsD_ = tmp.filsG_;
		
		balance_ = a-Math.max(b, 0) - 1;
		tmp.balance_ = Math.min(a-2, Math.min(a+b-2, b-1));
		
		tmp.filsG_ = new AVL(racine_);
		tmp.filsG_.balance_ = balance_;
		tmp.filsG_.filsG_ = filsG_; 
		tmp.filsG_.filsD_ = filsD_;
		racine_ = tmp.racine_;
		balance_ = tmp.balance_;
		filsG_ = tmp.filsG_;
		filsD_ = tmp.filsD_;


		if(pere != null){
			if(pos){
				pere.filsD_ = tmp;
			}
			else{
				pere.filsG_ = tmp;
			}
		}
		return tmp;
	}