Skip to content

Instantly share code, notes, and snippets.

View feraranas's full-sized avatar
🏠
Working from home

Ferdinand feraranas

🏠
Working from home
View GitHub Profile
void preOrden(Nodo<T> *&nodo)
{
cout << nodo->dato << " : ";
if (nodo->izquierda != NULL)
{
preOrden(nodo->izquierda);
}
if (nodo->derecha != NULL)
{
preOrden(nodo->derecha);
void postOrden()
{
postOrden(raiz);
}
void inOrden()
{
inOrden(raiz);
}
void preOrden()
{
preOrden(raiz);
}
void insertar(T dato)
{
if (raiz == NULL)
{
raiz = new Nodo<T>(dato);
}
else
{
insertar(raiz, dato);
}
void insertar(Nodo<T> *&nodo, T dato)
{
if (nodo == NULL) // Caso Base
{
nodo = new Nodo<T>(dato);
}
else // Caso recursivo
{
if (dato < nodo->dato)
{
bool buscar(Nodo<T> *&nodo, T dato)
{
if (nodo == NULL) // Caso base
{
cout << "No encontrado\n";
return false;
}
else if (dato == nodo->dato) // Caso base
{
cout << "Encontrado: " << nodo->dato << endl;
bool buscar(T dato)
{
if (raiz == NULL)
{
cout << "Not found\n";
return -1;
}
else
{
buscar(raiz, dato);
template <typename T>
class ArbolBinario
{
// Atributo raíz inicial del arbol
private:
Nodo<T> *raiz;
// Constructor por default
public:
ArbolBinario()
template <typename T>
class Nodo
{
private:
T dato;
Nodo<T> *izquierda;
Nodo<T> *derecha;
template <typename U>
friend class ArbolBinario;