[CURSO] C++ DE 0 A HEROE 馃Ω

116.-C++ desde cero 2019 [Buscar elementos de una lista]

En este tutorial vamos a:

  • Clonamos la lista en la variable actual.
  • Hacer un ciclo hasta que actual sea null.
  • Determinar si el elemento est谩 en la lista.

Codigo: https://github.com/programadornovato/c-/commit/69e5b70f07ce3bf7574c7bc5b23d87a5a2be48d8

#include <iostream>
struct Nodo
{
    int dato;
    Nodo *siguiente;
};
void insertarNodoLista(Nodo *&lista,int dato);
void mostrarNodoLista(Nodo *&lista);
bool buscarNodoLista(Nodo *&lista,int buscar);
int main(){
    int dato;
    char respuesta;
    Nodo *lista=NULL;
    regresar:
    std::cout<<"Ingresa un dato en la lista: ";
    std::cin>>dato;
    insertarNodoLista(lista,dato);
    std::cout<<"Deseas insertar otro dato (s/n):";
    std::cin>>respuesta;
    if(respuesta=='s'  || respuesta=='S'){
        goto regresar;
    }
    mostrarNodoLista(lista);
    std::cout<<"Numero a buscar: ";
    std::cin>>dato;
    if(buscarNodoLista(lista,dato)==true){
        std::cout<<"El valor "<<dato<<" si esta en la lista\n";
    }
    else{
        std::cout<<"El valor "<<dato<<" no esta en la lista\n";
    }
    system("pause");
    return 0;
}
void insertarNodoLista(Nodo *&lista,int dato){
    Nodo *nuevoNodo=new Nodo();
    nuevoNodo->dato=dato;
    Nodo *aux1=lista;
    Nodo *aux2;
    while ( (aux1!=NULL) && (aux1->dato<dato) ){
        aux2=aux1;
        aux1=aux1->siguiente;
    }
    if(lista==aux1){
        lista=nuevoNodo;
        nuevoNodo->siguiente=aux1;
    }else{
        aux2->siguiente=nuevoNodo;
        nuevoNodo->siguiente=aux1;
    }
    std::cout<<"El dato "<<dato<<" se ha insertado\n";
}
void mostrarNodoLista(Nodo *&lista){
    Nodo *actual=new Nodo();
    actual=lista;
    while (actual!=NULL)
    {
        std::cout<<"Valor del nodo es "<<actual->dato<<"\n";
        actual=actual->siguiente;
    }
    
}
bool buscarNodoLista(Nodo *&lista,int buscar){
    bool encontrado=false;
    Nodo *actual=new Nodo();
    actual=lista;
    while ( (actual!=NULL) && (actual->dato<=buscar) )
    {
        if(actual->dato==buscar){
            encontrado=true;
        }
        actual=actual->siguiente;
    }
    return encontrado;
}

馃帵 [Curso] Visual Studio Code 馃啔 de 0 a 100: https://www.youtube.com/playlist?list=PLCTD_CpMeEKQbdlT8efsS-veXuvYZ1UWn

Gracias por apoyar este canal: https://www.patreon.com/programadornovato
馃敆 Facebook: https://facebook.com/ProgramadorNovatoOficial
馃敆 Twitter: https://twitter.com/programadornova
馃敆 Linkedin: https://www.linkedin.com/in/programadornovato/
馃敆 Instagram: https://www.instagram.com/programadornovato/
馃敆 Pagina oficial: https://www.programadornovato.com .
Descargar zip con todos los codigos: http://raboninco.com/bXZK
[CURSO] C++ DE 0 A HEROE: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTofxs7iottRxJ5YPM7BOcc

Eugenio Chaparro

Entradas recientes

馃煝Editar c贸digo de un m贸dulo en Dolibarr [04]

馃煝Editar c贸digo de un m贸dulo en Dolibarr [04]

En este tutorial vamos editar el c贸digo de nuestro m贸dulo personas para poder personalizar algunas…

2 meses hace
馃煝Crear un sub_m贸dulo en Dolibarr [03]

馃煝Crear un sub_m贸dulo en Dolibarr [03]

En este tutorial vamos a crear un sub m贸dulo llamado seguridad que ser谩 muy parecido…

2 meses hace
馃煝Modificar un m贸dulo en Dolibarr [02]

馃煝Modificar un m贸dulo en Dolibarr [02]

En este tutorial aprenderemos a editar el objeto personas del modulo persona que creamos en…

2 meses hace
馃煝Constructor de m贸dulos en Dolibarr

馃煝Constructor de m贸dulos en Dolibarr

Como mencionamos anteriormente Dolibarr es un proyecto realizado sobre la base de una pol铆tica clara:…

2 meses hace
馃煝Tickets en Dolibarr [19]

馃煝Tickets en Dolibarr [19]

Los ticket en dolibarr nos ayudan a comunicar inconveniente en nuestros productos y servicios dentro…

2 meses hace
馃煝Agenda en Dolibarr [18]

馃煝Agenda en Dolibarr [18]

Las agendas en dolibarr nos ayudan a ver las actividades realizadas en proceso y por…

2 meses hace