Ordenamiento por Inserción (Insertion Sort) en Java

Поділитися
Вставка
  • Опубліковано 16 гру 2024

КОМЕНТАРІ • 64

  • @karelgarciarodriguez1817
    @karelgarciarodriguez1817 5 років тому +2

    Insercion es buscar la posicion del elemento actual respecto a los elementos anteriores del arreglo. El indice i es para el elemento actual del arreglo, y el j para recorrer los anteriores del actual, es decir de i,siempre comenzando por el 0. Por eso se usan for anidados.Hay muchas formas de hacer esto, pero se me hace que la que propone el senor jorge es mas complicada de comprender. En cualquier caso es un excelente tutorial. Me ha servido de mucho,saludos:
    public class Ordenador {
    public void ordenadorInsercion(int[]array) {
    int aux=0;
    for(int i=1;i

  • @NatsumiTech
    @NatsumiTech 12 років тому +4

    05:24 "Uy se borró" xD
    ¡Muy bueno! :)

  • @jorgevillavicencio8243
    @jorgevillavicencio8243 8 років тому +1

    Muy bien explicado este tipo de ordenamiento.Usastes las palabras sin confundir al estudiante.Muchisimas gracias por tu paciencia y tecnica de llegar al alumno. Desde New York un alumno tuyo.

  • @cristianzafra7930
    @cristianzafra7930 3 роки тому +1

    Excelente presentaciones, tu corso es excelente. Lo estoy impartiendo a mi grupo de trabajo

  • @markozfoxz6773
    @markozfoxz6773 11 років тому

    muy bueno eehh, soy programador beta, y necesitaba las estructuras de ordenamiento y esto es muy funcinal, graciass. hasb uno del metodo shell pero q sea el algoritmo aplicado a java

  • @ronnysotillet2664
    @ronnysotillet2664 8 років тому

    En serio explicas muy bien! por fin estoy entendiendo estos métodos de ordenamiento gracias!

  • @juandavidrodriguezmendez390
    @juandavidrodriguezmendez390 4 роки тому +1

    Muchas gracias por la explicacion del ordenamiento por insercion aunque prefiero el Quicksort en java

  • @marcetuta3972
    @marcetuta3972 5 років тому

    Gracias jorge la verdad estoy aprendiendo por vos

  • @rayeitor1
    @rayeitor1 9 років тому +7

    No lo he entendido, sorry.
    Mi codigo de insercion directa:
    public static void insercionDirecta(int[] arreglo)
    {
    int k = 0;
    int auxiliar = 0;
    for (int i=1;iarreglo[i])//Comparo si estan ordenados
    {
    k=0;
    while(arreglo[k]k;j--)
    {
    arreglo[j]=arreglo[j-1];//Esto le pone a cada numero el valor del anterior
    }
    arreglo[k]=auxiliar;//Pongo el valor mal ordenado en su sitio
    }//Acaba el if y el intercambio
    }//Acaba el for grande
    }//Acaba la funcion

    • @sergioconsuegraz8511
      @sergioconsuegraz8511 3 роки тому

      tan sencillo , gracias , al del video casi no le entendi XD pero igual me sirvio mucho

  • @emmanuelmora8062
    @emmanuelmora8062 2 роки тому

    muy bien explicado, excelente tutorial

  • @kizxs
    @kizxs 10 років тому

    GRACIAS AMIGO MUY BUENA EXPLICACION ME SIRVIO DE MUCHO... SALUDOS

  • @Paulastuta
    @Paulastuta 10 років тому +1

    Muy buena, me funciono!! solamente que necesito para que me lo vea en forma grafico

  • @yoshicomunica2239
    @yoshicomunica2239 4 роки тому

    y para ordenar String de la a la z como es ayuda

  • @luisfernandofarcooviedo5464
    @luisfernandofarcooviedo5464 6 років тому

    Excelente, corto y claro.

  • @carlosandresperez7624
    @carlosandresperez7624 10 років тому

    no se como hacerlo con una lista doble, por que tengo que cambiar son los nodos mas no la informacion. osea es practicamente lo mismo pero nose con listas estoy confundido

  • @stivenbautista12
    @stivenbautista12 4 роки тому

    Muchísimas gracias, me funcionó

  • @KelvinCastilloC
    @KelvinCastilloC 12 років тому

    Jorge este si q esta bueno. Gracias

  • @afr-dt
    @afr-dt 12 років тому +1

    Excelente tutorial amigo!!!

  • @kevinalbertolimassalas9397
    @kevinalbertolimassalas9397 3 роки тому

    Oye amigo, no hay para Ordenamiento por Inserción de matrices?

  • @JorgeLuisKrauss
    @JorgeLuisKrauss 7 років тому

    Jorge, he estado viendo todos los videos para aprender Java, por lo que antes que cualquier cosa te quería agradecer por haberlo hecho. En éste episodio en particular, te quería preguntar para que creas los dos contadores en la clase Ordenador, ya que en los vídeos anteriores has creado los contadores directamente en el ciclo "for (inti i=1...etc)", y luego anidas otro ciclo cualquiera "while(int j=0...etc)", y ocupas los valores de "i" y "j". Hay algún motivo en particular? (me refiero a crear a parte las variables contadores)
    Saludos!

    • @JorgeLuisKrauss
      @JorgeLuisKrauss 7 років тому

      Y también comentarte que la variable aux no es necesaria, hasta donde puedo ver, ya que array[cont1] no es modificado o alterado, por lo que se puede utilizar directamente en el for anidado array[cont2] = array[cont1] (y)

    • @oscaralbertobrunoperez2014
      @oscaralbertobrunoperez2014 7 років тому

      Te equivocas, la variable aux si es necesaria, ya que sin ella no se podría realizar el cambio de posición de los valores, si dejas solo array[cont2] = array[cont1] entonces el programa lo que hace es que ambas posiciones en el array tengan el mismo valor, para que no se pierda el valor de la posición cont1 se utiliza aux para después regresar el valor a la posición del array correspondiente.

  • @karollmontenegroguzman2214
    @karollmontenegroguzman2214 7 років тому

    Explicas muy bieen, saludos!

  • @MrDadyyCool
    @MrDadyyCool 11 років тому

    muy buen vídeo, necesito ayuda me gustaría que explicaras el mismo método de inserción pero en un programa que sea de una matriz, me ayudarías mucho. Gracias y exito¡

  • @SegundoRobledo
    @SegundoRobledo 8 років тому

    para ordenar listas también se aplica este método?

  • @chumillas94
    @chumillas94 11 років тому

    Me ha ayudado. Gracias y muy buen video

  • @diegoluj
    @diegoluj 10 років тому +1

    creo que no hace falta poner cont2+1 ya que es igual a cont1
    para no confundir
    array[cont2+1]=array[cont2]; == array[cont1]=array[cont2];

    • @davidtrokten
      @davidtrokten 10 років тому

      oye gracias por la aclaración (Y)

    • @elmerluz0
      @elmerluz0 8 років тому +1

      +Java No funciona, estas equivocado.

  • @marioalbertonegreterodrigu3226
    @marioalbertonegreterodrigu3226 12 років тому

    Gracias me ha servido mucho

  • @henryquishpe4935
    @henryquishpe4935 12 років тому

    Gracias pana......bien ahí..............

  • @sebastianignaciomunozsolis8048
    @sebastianignaciomunozsolis8048 11 років тому

    muchas gracias!!!!! me sirvio muchisimo!!!!

  • @CarlosAlberto-wx3gj
    @CarlosAlberto-wx3gj 7 років тому

    ¿Qué hay del método sacudida? shaker sort, gracias!

  • @israelapaza9540
    @israelapaza9540 6 років тому

    muchas grasias amigo todo entendido

  • @VirtualTicher
    @VirtualTicher 12 років тому

    Es más complicado pero más rápido que el de burbuja.

  • @MoonGeeK8
    @MoonGeeK8 5 років тому

    y si quiero que lo ordene de forma descendente ?

  • @carlosabril1905
    @carlosabril1905 11 років тому

    muy exelente la explicasion

  • @EsvenARamos
    @EsvenARamos 9 років тому

    Muchas gracias me sirvió mucho este vídeo
    Me suscribo :D

  • @2josc
    @2josc 12 років тому

    Quisiera saber como hacer las torres de hanoi, en visual.

  • @regniertovar2630
    @regniertovar2630 11 років тому

    Gracias mi pana por el Tuto :) Saludos

  • @kelvinrosa567
    @kelvinrosa567 6 років тому

    el problema es que no imprime los cambios se fueron haciendo y solo tira el ordenamiento final.

  • @javiergaara
    @javiergaara 9 років тому

    Muy buen tutorial

  • @bithiiasalome8389
    @bithiiasalome8389 10 років тому +8

    nome aclaro nada :'(

  • @magnamonful
    @magnamonful 12 років тому

    oye no tienes de como hacer arboles binarios

  • @juanfobregon3548
    @juanfobregon3548 4 роки тому

    Buen tuto

  • @soneckrocko2504
    @soneckrocko2504 8 років тому

    Hola que tal pues me parecen de ayuda los vídeos pero en esta ocasión busco un tutorial que sea de método de búsqueda hash

  • @ema_gym
    @ema_gym 7 років тому

    Interesante, gracias!

  • @santiagoj9628
    @santiagoj9628 7 років тому

    Gracias chaval

  • @canal505
    @canal505 Рік тому

    😂gracias!!😊

  • @vrooomize
    @vrooomize 4 роки тому

    package Ordenar;
    public class Insertion {
    public void ordenarInsercion(int[] array) {
    int llarg = array.length - 1;
    int aux;
    int cont1, cont2;
    for (cont1 = 1; cont1 < array.length; cont1++) {
    aux = array[cont1];
    for (cont2 = cont1 - 1; cont2 >= 0 && array[cont2] > aux; cont2--) {
    array[cont2 + 1] = array[cont2];
    array[cont2] = aux;
    }
    // mostra com s'està ordenant
    // es pot comentar aquet FOR, ja que es només per veure
    // el funcionament
    for (int i = 0; i < array.length; i++) {
    // System.out.println(array.length-1);
    if (i % array.length - llarg == 0) {
    System.out.print(array[i]);
    System.out.print("
    ");
    } else {
    System.out.print(array[i] + ",");
    }
    }
    }
    }
    }
    Muchas gracias... Puse una FOR para ver como ordena internamente...

  • @selassieAMC
    @selassieAMC 10 років тому

    Perfect my friend!!! Just that i need

  • @lunamv.2144
    @lunamv.2144 8 років тому

    muy bueno

  • @crpilot35
    @crpilot35 11 років тому

    Exito!!!

  • @taniazunigacaballero524
    @taniazunigacaballero524 7 років тому

    Oye no puedo ejecutar el programa :(

  • @4304jonathan
    @4304jonathan 8 років тому

    array[j+1]=array[j];
    array[j]=aux;
    que hace

    • @gustavomendoza8600
      @gustavomendoza8600 8 років тому +1

      aux=array[i];
      array[i]=array[i-1];
      array[i-1]=aux;
      lo que hacen estas lineas es hacer el cambio:
      primero que nada aux tiene el valor 0 ,porque recuerda que si no se inicializa una variable entera su valor por defecto es 0
      1.en la primera linea aux=array[i] lo que hace es que la variable aux tome el valor que tenga array[i],
      por decir si array[i] tiene el valor de 10 ,aux ahora tendra el valor de 10,por eso la variable aux esta sin inicializar para que su valor sea 0 y pueda guardar el valor del primer numero,y como array[i] le paso lo que tenia a la variable aux ,array[i] ahora tiene 0 ,miralo como un intercambio de valores
      las cosas quedan asi despues del intercambio:
      aux=10(lo que tenia array[i] originalmente) y array[i]=0(lo que tenia aux originalmente)
      2.en la segunda linea array[i]=array[i-1],
      es lo mismo un intercambio de valores,pero ahora array[i] ya no tiene el valor 10 por que se lo paso a la variable aux,si no que array[i] ahora tiene 0,entonces array[i] obtendra lo que tenga array[i-1](que significa el numero anterior a i en el arreglo por eso se escribe array[i-1],
      supongamos que array[i-1] tiene el valor de 5
      la cosa seria:
      array[i]=0; y array[i-1]=5;
      se hace un intercambio,entonces array[i] ahora tendra el valor de array[i-1] y array[i-1] tomara el valor de array[i]
      la cosa que daria asi despues del intercambio:
      array[i]=5; array[i-1]=0;
      3.en la tercera linea array[i-1] ahora tiene 0,entonces tomara el valor de aux que es 10,que en la primera se quedo con el valor de 10 (que es lo que originalmente tenia array[i])
      la variable aux es como un mediador para que array[i] intercambie su valor con array[i-1]
      al ultimo quedaria asi :
      aux=0, array[i]=5; array[i-1]=10;
      originalmente los valores eran:
      aux=0; array[i]=10; array[i-1]=5;
      esas 3 lineas son para que array[i] intercambie su valor con array[i-1];
      te preguntaras por que no se hace de forma directa
      asi:
      array[i]=array[i-1];
      es porque no funcionaria ya que un valor debe estar vacio para recibir la informacion y para eso se utiliza la variable aux ;
      se que es confuso pero espero que le entiendas

  • @freddystevenbustospalencia4988
    @freddystevenbustospalencia4988 7 років тому

    Hola compañeros me podrían hacer el favor de explicarme esto arreg[arr[i]]++;

  • @fita5392
    @fita5392 11 років тому

    me urge :(

  • @arquedohernandez2548
    @arquedohernandez2548 7 років тому

    Algun programador aqui?

  • @wordle_23
    @wordle_23 11 років тому +4

    acabo de hacer esta tarea, y se me dio por no usar la variable aux, y igual anda, solo uso dos ciclo for, uno de cont1 uno que vaya, (a razon de incremento) y otro for de cont2 - 1 (a razon de incremento) que venga. y listo, me da los mismo resultados. ahorro 4 lineas de código XD

  • @sergiogaray2847
    @sergiogaray2847 4 роки тому

    Hola aqui te lo explico en lenguaje C++ ua-cam.com/video/_vt0YHNx54Q/v-deo.html Saludos.