106. Programación en C++ || Listas || Buscar un elemento en una lista enlazada

Поделиться
HTML-код
  • Опубликовано: 22 янв 2025

Комментарии • 94

  •  6 лет назад +1

    💻 Apúntate al curso completo de Programación en C++:
    Hotmart: hotmart.com/es/marketplace/productos/programacion-en-c-v0ivo/N78682741H

    • @DaniiTheFox
      @DaniiTheFox 5 лет назад

      bool search(node *list , int n ){
      bool flag = false;
      node *now = new node();
      now = list;
      while(now != NULL){
      if(now->dato == n){
      flag = true;
      }
      now = now->next;
      }
      return flag;
      }
      no podria ser asi para poder usar la funcion en otros casos?

  • @ltamalitosd4439
    @ltamalitosd4439 2 года назад +15

    //Por si ocupan el codigo
    #include
    #include
    using namespace std;
    struct Nodo{
    int dato;
    Nodo *siguiente;
    };
    Nodo *lista=NULL;
    void menu();
    void insertarLista( Nodo *&, int);
    void mostrarLista(Nodo *);
    void buscarLista(Nodo *, int);
    int main(){

    menu();
    getch;
    return 0;
    }
    void insertarLista(Nodo *&lista, int n){
    Nodo *nuevo_nodo= new Nodo();
    nuevo_nodo->dato=n;
    Nodo *aux1=lista;
    Nodo*aux2;

    while((aux1 != NULL) && (aux1->datosiguiente;
    }
    if(lista==aux1){
    lista =nuevo_nodo;
    }
    else{
    aux2->siguiente =nuevo_nodo;
    }
    nuevo_nodo->siguiente=aux1;
    cout

  • @anginiotorres8292
    @anginiotorres8292 6 лет назад +8

    ERES EL MEJOR MAESTRO DE PROGRAMACIÓN QUE CONZCO GRACIAS INFINITAS POR TU TIEMPO GRACIAS GRACIAS

  • @soundmusic9237
    @soundmusic9237 3 года назад +6

    Sin duda fuiste un gran maestro, espero en Dios estes descanzando en paz 😔♥️

  • @agustinlyon8173
    @agustinlyon8173 4 года назад +15

    Descansa en paz ,si apruebo el curso te lo dedicare a ti maestro

  • @jennifertattianapinedabarr1364
    @jennifertattianapinedabarr1364 5 лет назад +2

    Tus enseñanzas serán recordadas con mucho cariño descansa en paz... ya estas en un lugar mejor.

  • @edisanchez3147
    @edisanchez3147 6 лет назад +3

    Lejos el mejor canal de programación.

  • @kafkimatematico1456
    @kafkimatematico1456 5 лет назад +13

    "Ya sé qué... !Lo sabes!" jajajaj Con un master and comander como vos, el que no aprenda es por que no quiere. Gracias Campeón.

    • @agustinlyon8173
      @agustinlyon8173 4 года назад

      Era un excelente motivador :(

    • @kafkimatematico1456
      @kafkimatematico1456 4 года назад +1

      @@agustinlyon8173 Hola. Lo de "era". ¿Es que le ha pasado algo? Veo que ha dejado de subir vídeos, pero no se la causa. Si lo sabes te agradezco que me lo comentes.
      Un saludo.

    • @alejandrosalas9648
      @alejandrosalas9648 4 года назад +2

      @@kafkimatematico1456 el falleció

    • @revanshen
      @revanshen 3 года назад +1

      @@kafkimatematico1456 Falleció a causa de un cáncer en la rodilla. Que triste.

    • @kafkimatematico1456
      @kafkimatematico1456 3 года назад +1

      @@revanshen Madre mia!!! Un cáncer en la rodilla. Si que es triste, toda l a vida por delante y mira. Buff. Cuanto lo siento.
      Gracias y un saludo.

  • @marisolmares2202
    @marisolmares2202 8 лет назад +4

    Excelente curso, explicas muy bien tus vídeos me han ayudado bastante. Gracias :D

    •  8 лет назад +3

      Gracias a ti por ver Marisol :D Un saludo

  • @angelgodinez4225
    @angelgodinez4225 7 лет назад

    es la primera vez que veo uno de los videos y si mi respetos, explicas excelente la verdad

  • @saldanamendozajesusmaximil5453
    @saldanamendozajesusmaximil5453 8 месяцев назад

    Descansa en paz hermano,gracais por dejar este conocimiento tan valioso.

  • @saul14ful
    @saul14ful 7 лет назад

    men grasias por los tutoriales jajajja yo recien me entero que eres de la unt que chevere yo tambien aunque no estudio informatica ni sistemas pero ese será mi proximo paso y grasias de nuevo por que con estos tutoriales me di cuenta que mi carrera es sistemas :D

  • @MrStorm720
    @MrStorm720 8 лет назад +4

    Prueba sin usar actual usando para recorrer la lista lista=&(*lista) -> siguiente y preguntando en el while por (*lista) -> dato dato==nro)
    cout

    •  8 лет назад +1

      tienes mucha razón :D Buen algoritmo

    • @MrStorm720
      @MrStorm720 8 лет назад +1

      Gracias! Sigue asi que estan muy buenos los tutoriales y como explicas

    • @architect8675
      @architect8675 7 лет назад

      Puede n ser menor que dato ? en algún caso ?

    • @eliasmath2017
      @eliasmath2017 4 года назад

      primera vez que llevo listas , pero y cada vez logro comprender mas ,este algoritmo que propones ya casi lo entiendo,,voy en un 70% xdd

    • @XElektro31415
      @XElektro31415 2 года назад

      el problema de esto es que si (*pl)->dato=nro, se ejecutaria el while y el nodo pl correria una posicion,
      while(*pl!=NULL && (*pl)->datosiguiente;
      y luego cuando entre al if no encontraria una igualdad en (*pl)->dato==nro
      if(*pl!=NULL && (*pl)->dato==nro)
      Si no me equivoco lo correcto sería poner el while de la siguiente manera:
      while(*pl!=NULL && (*pl)->datosiguiente;

  • @yunli8357
    @yunli8357 8 лет назад +1

    Excelente vídeo !! :3 sin duda eres mi maestro de programación !! :3

    •  8 лет назад

      Muchas gracias Yun Li :) Un saludo

    • @yunli8357
      @yunli8357 8 лет назад +1

      +Programación ATS Muchas gracias !! saludos !! :3

  • @eliaz976hhb5
    @eliaz976hhb5 7 лет назад +1

    Explicas mejor que mi maestra de la uni , eres muy bueno

    •  7 лет назад +1

      Muchas gracias :) Un saludo

  • @albeirochaves5046
    @albeirochaves5046 2 года назад

    excelente video, gracias por compartir

  • @fernandomanriquez8326
    @fernandomanriquez8326 6 лет назад

    Muchas gracias por el material, me sirve mucho.

  • @idbaronco4194
    @idbaronco4194 5 лет назад +6

    Para que la busqueda sea más eficiente lo ideal sería agregar un break dentro del condicional, ya que en el caso de que actual->dato sea menor a n, el while seguirá ejecutandose hasta llegar al NULL. Con el break; la sentencia terminará en el mismo instante en el que actual->dato==n.
    ---------------------------------
    while (actual!=NULL)
    {
    if (actual->dato==n)
    {
    flag = true; *break* ;
    }
    actual = actual->sgte;
    }

    • @eliasmath2017
      @eliasmath2017 4 года назад +2

      tengo una duda, el break no solo haria que salga del if ? ya que se encuentra dentro de ese condicional ,xq saldria del while?....

    • @idbaronco4194
      @idbaronco4194 4 года назад

      @@eliasmath2017 el break hace si mal no recuerdo el brake hace que la iteración termine de inmediato

    • @XElektro31415
      @XElektro31415 2 года назад

      Si actual->dato es menor a n, es necesario llegar a NULL para confirmar que no existe el elemento en la lista

    • @Keehaz
      @Keehaz 6 месяцев назад

      Es mas eficiente dejar el (lista->dato

  • @rsilva9
    @rsilva9 3 года назад

    Descanza en paz loco, sin duda un maestro

  • @analia9534
    @analia9534 Год назад

    INCREIBLE

  • @guillermoayala5013
    @guillermoayala5013 Год назад

    Tqm Programación ATS

  • @teldatamcy5656
    @teldatamcy5656 3 года назад

    Gracias!!!

  • @xxrichar29xx62
    @xxrichar29xx62 8 лет назад +2

    Hola! Me encantan tus vídeos, aplicaremos c++ en un proyecto?

  • @rafaelh.chacinch.3341
    @rafaelh.chacinch.3341 2 года назад

    Hola, se podría mejorar el algoritmo de busqueda si la linea siguiente a band = true; sea break; para romper el ciclo. En pocos elementos no se nota pero en volumenes mayores puedeser representativo.

  • @instaladordetelecentro3676
    @instaladordetelecentro3676 3 года назад

    graciass

  • @mikepiedrahita6133
    @mikepiedrahita6133 8 лет назад

    Muy buen video, tengo una duda como puedo ordenar los datos ingresados, he tratado de hacerlo por el metodo de burbuja pero no me da

  • @gianfrancotellomenacabrera1652
    @gianfrancotellomenacabrera1652 8 лет назад

    no se puedas ayudarme necesito que en lista se guarde una palabra no un caracter como lo hago , cuando lo hago solo me guarda un caracter no la palabra

  • @victorquintero3d994
    @victorquintero3d994 5 лет назад +3

    Si el elemento es de tipo string?

  • @pipe9721
    @pipe9721 6 лет назад

    hola me puedes ayudar con este ejercicio mplementar el método de búsqueda binaria en una lista simplemente enlazada

  • @erickrosas8436
    @erickrosas8436 6 лет назад

    Tengo dudas, en sólo como creo un nodo y agrego métodos de eliminar o agregar dato sin implementar un TDA

  • @MurderMA
    @MurderMA 2 года назад

    Cuando yo pongo Nodo *actual = New Nodo() no me agarra, pero le pongo con struct me sale que return 1 con el error (.text+0x7f)
    Sabes porque me sale eso?

    • @sthifen2237
      @sthifen2237 Год назад

      el ya esta muerto literalmente pero el mensaje de error que proporcionas, "(.text+0x7f)", es un error genérico que no proporciona suficiente información para determinar cuál es el problema específico en tu código. Puede haber varios factores que contribuyan al error, como errores de sintaxis, problemas en la definición de la estructura, problemas con punteros, entre otros.

    • @MurderMA
      @MurderMA Год назад

      @@sthifen2237 gracias, ahora no recuerdo que hice pero unos meses despues de esto (y haber utilizado un modelo diferente) pude lograr que funcionara, pero nunca me di cuenta cual fue el error exactamente

  • @DELTA-4.
    @DELTA-4. 6 лет назад +1

    👍👍👍

  • @henrydiaz4764
    @henrydiaz4764 5 лет назад

    Si en lugar de números fueran nombres lo que tuviera que leer? como pudiera hacer? agradezco la colaboracion

    • @adriel8152
      @adriel8152 5 лет назад

      Hola, no estoy completamente seguro pero tendrías que dentro de la estructura declarar el tipo de dato como char, y sería un vector de letras, que quizá ya sabes manejar, por ejemplo.
      struct Nodo{
      char nombre[40];
      Nodo *siguiente;
      };
      Después al momento de ingresar los datos, en vez de ingresar números, ingresarías el nombre mediante cin.getline(). Se me ocurre que al momento de querer buscar si hay un dato guardado en la lista lo hagas con la función strcmp() de la biblioteca cstring. Espero te sirva y si tienes alguna duda quizá pueda ayudarte.

  • @witnesstotheabyssartist3678
    @witnesstotheabyssartist3678 4 года назад

    ¿Hola comunidad , por que debo crear otro nodo en la funcion de buscarlista ,creo un nuevo nodo ? , no me queda claro eso.

    • @learning2895
      @learning2895 4 года назад

      Es verdad, no necesitas crear uno nuevo porque puedes usar el nodo lista directamente ya que no se va a modificar.

    • @witnesstotheabyssartist3678
      @witnesstotheabyssartist3678 4 года назад

      @@learning2895 gracias !

  • @harlesepc5906
    @harlesepc5906 3 года назад

    Por que crear un nuevo nodo para buscar un dato ? Si ya los nodos estan insertado en la opcion 1

    • @harlesepc5906
      @harlesepc5906 3 года назад

      @DanshX quiere decir que estuvo demas en el ejercicio crear ese nuevo nodo.

  • @marcoayala2961
    @marcoayala2961 6 лет назад +2

    muy buenas noches lo felicito muy buenos vídeos
    yo quiero pedirle un favor que me ayude hacer un trabajo se trata de hacer como un registro de notas con los siguientes datos código nombres carrera ciclo y de hay 4 notas luego poner una opción que me diga si quiero seguir ingresando mas estudiantes con los mismos datos utilizando estructuras y funciones validando números y letras por ultimo en un menú de opciones con 5 opciones ingresar datos buscar datos de los estudiantes eliminar los datos de un estudiante y mostrar todos los datos de todos los estudiantes
    por favor ayúdeme por favor es una nota muy grande por favor
    saludos desde ECUADOR-LATACUNGA-POALO

  • @COBED
    @COBED 4 года назад

    Qepd crack

  • @DLasts
    @DLasts 7 лет назад +6

    Eres un pro y me enseñas , eres un genio... pero se dice "ha sido" no "a sido" . Dato irrelevante para programación, pero bueno para el castellano. Gracias

    • @Marcos-pf6rx
      @Marcos-pf6rx 7 лет назад +1

      Justamente eso venía a comentar jajaja. Dejando de lado ese error, este sujeto explica muy bien.

    • @cesarhernandez3827
      @cesarhernandez3827 5 лет назад

      Venía a decir lo mismo, un crack programando, pero ese error hace sangre a los ojos jajaja, imagino que no se dió cuenta.

    • @peznerd6986
      @peznerd6986 4 года назад

      A mí no hace que me sangren los ojos pero si no estuviera muerto también iba a comentarle lo mismo jajja... otra cosa que me causó gracia es su pronunciación de "true", la dice igual a la de "through" (/zru/) y no es así sino que suena más como un /chru/

  • @hotroadcol4166
    @hotroadcol4166 3 года назад

    👍

  • @aetherkyo381
    @aetherkyo381 3 года назад

    No sería mas practico una lista que no ordene en función del del valor del dato sino en orden de entrada? Siento que es más común y ocuparía menos código.
    Y la función para buscar seria con un do{ }while((actual->dato != n) || (actual != NULL)).

  • @steveestuardocordonmonzon8953
    @steveestuardocordonmonzon8953 3 года назад +1

    deberías de subir los códigos de los programas

  • @juancarlospizarromendez3954
    @juancarlospizarromendez3954 3 месяца назад

    Hay "memory leak" de "Nodo *actual = new Nodo();" y debería ser "Nodo *actual;". Y a continuación "actual = lista;".

  • @luislomas6373
    @luislomas6373 4 года назад

    ¿Alguien de casualidad sabe como ponerle posiciones y que al estar dos valores iguales en diferentes posiciones se muestren?

  • @nayadanthyvargas2374
    @nayadanthyvargas2374 8 лет назад

    hola! profdias ayudarme en como puedo usar una plantilla de word en visual studio con C# ya que necesito llenar solo unos datos de esa plantilla con un formato, espero puedas ayudarme!

  • @yosinciclos5908
    @yosinciclos5908 6 лет назад +3

    sabe be alguien pq no me funciona pq lo tengo copiado igual:
    #include
    #include
    #include
    using namespace std;
    struct lista {
    int contenido;
    lista *direccion;
    };
    void llenar (lista *&puntero , int &dato)
    {
    lista *nuevo = new lista ();
    nuevo->contenido = dato;
    lista *uno = puntero;
    lista *dos;
    while((uno != NULL)&&(uno->contenido < dato))
    {
    dos = uno;
    uno = uno->direccion;
    }
    if(puntero == uno){puntero = nuevo; }
    else{dos->direccion = nuevo; }
    nuevo->direccion = uno;
    }
    void mostrar(lista *&puntero)
    {
    lista *nuevo = new lista();
    nuevo = puntero;
    while(nuevo != NULL)
    {
    coutcontenido contenido == dato){band = true;}
    }
    nuevo = nuevo->direccion;
    if(band == true){cout

    • @nahu4032
      @nahu4032 6 лет назад

      nuevo = nuevo->direccion; esto tiene que estar dentro el while para ver uno por uno o hasta que se cumpla NULL

  • @paredesgamboacarloseduardo3569
    @paredesgamboacarloseduardo3569 4 года назад

    Cecyt 14 Carlos Paredes 4iv5 El video es uy bueno aprendi a buscar un elemento en una lista enlazada

  • @jessicaalvarez16
    @jessicaalvarez16 4 года назад

    No sabía sobre este tema
    Cecyt 14,4IV6, Jessica Álvarez

  • @VolkanoLife
    @VolkanoLife 5 лет назад +1

    F

  • @sepulvedachavezivanemmanue5997
    @sepulvedachavezivanemmanue5997 4 года назад

    Este video de esta plataforma me ayudo a retomar temas que
    no sabía y mejorar un poco en mi programación respecto a este programa
    aplicarlo en mis actividades
    CECyT_14_4IV5_Ivan_Emmanuel_S

    • @Thelimbers7
      @Thelimbers7 3 года назад +2

      No mientas, ni entendiste nada Jajajaja

  • @mendozamunozarelifernanda6025
    @mendozamunozarelifernanda6025 4 года назад

    Bastante interesante Cecyt 14 Luis Enrique Erro, Areli M, 4IV5

  • @AL007-MC
    @AL007-MC 4 года назад

    CECYT 14 4IV5 Gabriela M
    exente explicación me llamo mucho la atención

  • @brendahernandez1288
    @brendahernandez1288 4 года назад

    CECyT #14.
    4iv6.
    Brenda Hernández.
    Muy buena explicación.

  • @alejandrocr9293
    @alejandrocr9293 7 лет назад +2

    Un algoritmo más sencillo y lo puedes comprobar por fuera con el condicional if (search( list, #) != NULL)
    Node * search(Node * list, int value){
    while(list != NULL){
    // found
    if( list->value == value ){
    return list;}
    // update
    list = list->next;
    }
    // not found
    return NULL;
    }

  • @martinezmenaximena4413
    @martinezmenaximena4413 4 года назад

    Excelente explicación
    Ximena M 4IV5 cecyt 14

    • @AR-qx3xt
      @AR-qx3xt 3 года назад

      Hola me da curiosidad saber el porqué ponen su nombre jaja ya me e topado a varios así y pues solo curiosidad

  • @LuisAntonioToranzoToribio
    @LuisAntonioToranzoToribio 6 лет назад

    Te ha faltado una "h" en las frases "Si ha sido" y "No ha sido"