Está en la página 1de 3

PRACTICA

INTEGRANTES: ANDRÉS ARIEL BARREIRO PARRAGA


FECHA: 23 DE AGOSTO 2021 CURSO: TERCERO B

MATERIA: ESTRUCTURA DE DATOS.


PROGRAMA #1
1) ENUNCIADO (DESCRIPCIÓN DEL EJERCICIO)
REALIZAR UN PROGRAMA QUE ME PERMITA INSERTAR UN NODO EN
UN ARBOL EN C++
2) DISEÑO O CODIFICACIÓN: (PROGRAMACIÓN)

#include<iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;

struct nodo{
int dato;
nodo *der;
nodo *izq;
};

void Menu();
nodo *crearNodo(int );
void agregarNodo(nodo *&, int);

nodo *arbol = NULL;

int main(){
Menu();
getch();
return 0;
}
void Menu(){
int dato, opcion;

do{
cout<<"1. Agregar elementos al arbol. "<<endl;
cout<<"2. Salir."<<endl;
cout<<"\nOpcion: ";
cin>>opcion;

switch(opcion){
case 1: cout<<"Numero a agregar: ";
cin>>dato;
agregarNodo(arbol,dato);
break;
case 2:;
}
system("pause");
system("cls");
}while(opcion != 2);
}
nodo *crearNodo(int n){
nodo *NuevoNodo = new nodo();
NuevoNodo->dato = n;
NuevoNodo->der = NULL;
NuevoNodo->izq = NULL;

return NuevoNodo;
}
void agregarNodo(nodo *&arbol, int n){
if(arbol == NULL){//verificando que arbol este vacio.
nodo *nuevoNodo = crearNodo(n);//agregando la raiz al nuevo
nodo.
arbol = nuevoNodo;
cout<<("Nodo raiz creado")<<endl;
}else{
int ValorDeRaiz = arbol->dato;//Es para saber que valor tiene la
RAIZ.
if(n < ValorDeRaiz){//Cuando el Valor es menor va al lado
izquierdo.
agregarNodo(arbol->izq,n);//Agregando al lado izquierdo.
cout<<("Nodo izquierdo creado")<<endl;
}else{
agregarNodo(arbol->der,n);//Agregando al lado derecho.
cout<<("Nodo derecho creado")<<endl;
}
}
}
3) RESULTADO: CAPTURA DEL PROGRAMA EJECUTADO

También podría gustarte