Engenharia
CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR
CURSO DE CIÊNCIA DA COMPUTAÇÃO
DISCIPLINA DE ESTRUTURAS DE DADOS
Exercício Árvore SBB
Leia atentamente o código abaixo e substitua os locais assinalados com “?” por comentários concisos descrevendo o trecho de código a seguir.
??????????????????????????????????????????????????????
TNo_SBB * insere (int d, TNo_SBB *pai, TNo_SBB *&filho, bool filhoEsq, bool propSBB = false) {
??????????????????????????????????????????????????????
if (filho == NULL) { filho = new TNo_SBB; filho->dado = d; filho->incE = Vertical; filho->incD = Vertical; filho->esq = NULL; filho->dir = NULL;
??????????????????????????????????????????????????????
if (pai != NULL){ if (filhoEsq){ pai->incE = Horizontal; }else{ pai->incD = Horizontal; } }
??????????????????????????????????????????????????????
propSBB = false; }else{
??????????????????????????????????????????????????????
if (d < filho->dado) { //insere na esquerda insere (d, filho, filho->esq, true, propSBB);
??????????????????????????????????????????????????????
if (!propSBB)
??????????????????????????????????????????????????????
if (filho->incE == Horizontal) { //trasformação esquerda-esquerda if (filho->esq->incE == Horizontal) {
??????????????????????????????????????????????????????
filho = ee (filho); if (pai != NULL){ if (filhoEsq){
??????????????????????????????????????????????????????
pai->incE=Horizontal; }else{