JAVA - Ordenamiento de la burbuja (bubble sort) + numero al azar (random)

Lime Technologies
31 May 201219:02

Summary

TLDREste tutorial de Java se centra en explicar el algoritmo de ordenamiento de burbuja. Inicia con una explicación gráfica sobre cómo funciona el algoritmo comparando y, si es necesario, intercambiando números consecutivos para ordenar un conjunto de cuatro números de manera ascendente. Seguidamente, el video procede a la implementación práctica en Java, donde se declara un array y se utilizan métodos para llenarlo con números aleatorios y posteriormente ordenarlos. El tutorial cubre la creación de métodos para inicializar el array, intercambiar posiciones y mostrar los resultados, culminando con una demostración del array desordenado y luego ordenado de menor a mayor y viceversa.

Takeaways

  • 🤖 El tutorial trata sobre el algoritmo de ordenamiento de burbuja en Java.
  • 📈 Se muestra un ejemplo gráfico de cómo funciona el algoritmo de ordenamiento de burbuja.
  • 🔁 El proceso implica comparar y posiblemente intercambiar dos números consecutivos.
  • 📝 Se describe la implementación del algoritmo en Java, incluyendo la declaración de variables y la estructura del programa.
  • 🔢 Se utiliza un array para almacenar los números y un bucle for para generar números aleatorios del 1 al 40.
  • 🔄 El método 'intercambiar posiciones' es clave para el ordenamiento; utiliza un auxiliar para hacer el intercambio.
  • 🔍 El método 'ordenar' decide cómo se realiza el ordenamiento, dependiendo de si es ascendente o descendente.
  • 🖥 Se muestra cómo imprimir el array desordenado, ordenado de menor a mayor y de mayor a menor.
  • 📚 Se importan las clases necesarias, como 'java.util.Random', para generar números aleatorios.
  • 📈 Se utiliza un bucle for anidados para recorrer el array y ordenar los elementos según el criterio ascendente o descendente.
  • 💡 El tutorial concluye con la ejecución del programa, mostrando los resultados del array desordenado y ordenados en ambas formas.

Q & A

  • ¿Qué es el algoritmo de ordenamiento de burbuja?

    -El algoritmo de ordenamiento de burbuja es un método de ordenar una lista de números. Funciona comparando pares de números consecutivos y intercambiandolos si están en el orden incorrecto, es decir, si el número de la izquierda es mayor que el de la derecha.

  • ¿Cómo se implementa el algoritmo de ordenamiento de burbuja en Java?

    -Se implementa en Java mediante la creación de un array para almacenar los números, luego se utiliza un bucle for para recorrer el array y comparar los elementos. Si los elementos están en el orden incorrecto, se utilizan métodos para intercambiar sus posiciones. Finalmente, se utiliza otro bucle para ordenar el array en función del criterio de ordenamiento ascendente o descendente.

  • ¿Cómo se genera una lista desordenada de números para el algoritmo de burbuja?

    -Se utiliza un objeto Random para generar números al azar dentro de un rango específico (por ejemplo, del 1 al 40). Estos números se almacenan en una posición del array hasta que se llenan las 20 posiciones necesarias.

  • ¿Qué hace el método 'intercambiar posiciones' en el código?

    -El método 'intercambiar posiciones' es responsable de intercambiar dos elementos del array si su orden es el incorrecto según el criterio de ordenamiento. Utiliza una variable auxiliar para almacen temporalmente uno de los valores antes de realizar el intercambio.

  • ¿Cómo se determina si el array se ordena de manera ascendente o descendente?

    -Se utiliza una variable booleana llamada 'ascendente'. Si 'ascendente' es true, el array se ordena de menor a mayor. Si es false, el array se ordena de mayor a menor.

  • ¿Qué hace el método 'mostrar' en el código?

    -El método 'mostrar' imprime en pantalla el contenido del array en un formato tabulado. Se llama a este método tres veces para mostrar el array desordenado, ordenado de menor a mayor y ordenado de mayor a menor.

  • ¿Por qué se utiliza un bucle for en el método de ordenamiento?

    -El bucle for se utiliza para recorrer todas las posiciones del array. En cada iteración, se compara el elemento actual con el siguiente y, si es necesario, se intercambian sus posiciones. Este proceso se repite hasta que el array esté completamente ordenado.

  • ¿Cómo se evita que el número 0 aparezca en la lista generada?

    -Se utiliza la función nextInt() del objeto Random para generar números aleatorios, pero se le suma 1 al resultado para que el número generado comience desde 1 en lugar de 0.

  • ¿Cuál es la finalidad del constructor por defecto en la clase burbuja?

    -El constructor por defecto se utiliza para crear una instancia de la clase sin necesidad de proporcionar argumentos. En este caso, se menciona que el constructor no hace nada específico, pero su presencia evita algunos errores al instanciar objetos de la clase.

  • ¿Qué paquete de Java se utiliza para generar números aleatorios?

    -El paquete java.util se utiliza para generar números aleatorios a través de la clase Random.

  • ¿Cómo se puede asegurar de que el código proporcionado funcione correctamente?

    -Para asegurar que el código funcione correctamente, se debe seguir el orden de las instrucciones y los métodos proporcionados en el script, asegurándose de que cada método esté correctamente implementado y se llame en el método main en el orden adecuado.

Outlines

00:00

😀 Introducción al Algoritmo de Ordenamiento de Burbuja

Este primer párrafo presenta el tema del tutorial, que es el algoritmo de ordenamiento de burbuja en Java. Se describe brevemente el proceso del algoritmo con un ejemplo gráfico, donde se compara y, si es necesario, se intercambian dos números consecutivos para ordenarlos. El objetivo es lograr una lista ordenada de menor a mayor a través de múltiples iteraciones del algoritmo, intercambiando los elementos cuando sea necesario.

05:01

📝 Implementación del Algoritmo en Java

El segundo párrafo se enfoca en la implementación del algoritmo de ordenamiento de burbuja en Java. Se detalla la declaración de variables necesarias, incluyendo un array para almacenar los números y variables para realizar cambios de posición. Seguidamente, se crea un método 'crearArray' que inicializa el array con 20 números aleatorios entre 1 y 40. Además, se menciona la importación de la clase 'Random' para generar estos números aleatorios.

10:01

🔄 Métodos para Intercambio y Ordenamiento

El tercer párrafo describe la creación de dos métodos clave: 'intercambiarPosiciones', que permite intercambiar dos elementos en el array, y 'ordenar', que es responsable de aplicar el algoritmo de ordenamiento de burbuja en sí. El método 'ordenar' utiliza un bucle 'for' para recorrer el array y un 'if' para decidir si se deben intercambiar dos elementos basándose en su orden relativo y en el parámetro 'ascendente'.

15:02

🖥 Método para Mostrar el Array y Llamadas al Método Main

El cuarto y último párrafo se centra en el método 'mostrar', que imprime el array en el orden en que se encuentra, ya sea desordenado o ordenado. Se describe cómo se estructura la salida para que el array se muestre de manera tabulada. Además, se explica cómo se ordenan los arrays de menor a mayor y de mayor a menor según el valor del parámetro 'ascendente'. Finalmente, se menciona cómo se整合 los métodos en el método 'Main' para que el programa funcione correctamente y se proporciona el código completo para que los espectadores puedan copiar y utilizarlo.

Mindmap

Keywords

💡Algoritmo de ordenamiento de burbuja

El algoritmo de ordenamiento de burbuja es un método para ordenar una lista de elementos. Se denomina así debido a que los elementos 'flotan' hacia sus posiciones finales en la lista, similar al movimiento de las burbujas en el agua. En el video, este algoritmo es el tema central y se utiliza para ordenar una serie de números desordenados.

💡Números desordenados

Los números desordenados son los elementos iniciales que el algoritmo de ordenamiento de burbuja busca organizar. En el contexto del video, estos son los cuatro números que comienzan sin un orden específico y que luego son ordenados por el algoritmo.

💡Comparación de números consecutivos

Este proceso es fundamental en el algoritmo de burbuja, donde se comparan dos números consecutivos en la lista. Si el número de la izquierda es mayor que el de la derecha, se intercambian sus posiciones. En el video, esta comparación ocurre en cada iteración del algoritmo.

💡Intercambio de posiciones

El intercambio de posiciones es el mecanismo mediante el cual el algoritmo de burbuja ordena los números. Cuando se detecta que dos números están en el orden incorrecto, se intercambian sus posiciones en la lista. Un ejemplo en el script es cuando el número 8 (que es mayor) cambia de lugar con el número 2.

💡Array

Un array es una estructura de datos en la programación que almacena una colección de elementos, usualmente del mismo tipo. En el video, el array es la estructura que contiene los números que se ordenarán mediante el algoritmo de burbuja.

💡Java

Java es un lenguaje de programación de propósito general y altamente popular. En el video, se utiliza Java para implementar y ejecutar el algoritmo de ordenamiento de burbuja. Se menciona la importancia de Java como el medio para crear y manipular los objetos y métodos necesarios para el programa.

💡Método main

El método main es el punto de entrada estándar de cualquier aplicación Java. Es el primer método que se ejecuta cuando se inicia una aplicación. En el video, se utiliza el método main para llamar a los otros métodos que implementan la funcionalidad del algoritmo de burbuja.

💡Variables

Las variables son elementos fundamentales en la programación que almacenan información o datos que pueden cambiar durante la ejecución de un programa. En el video, se declaran varias variables como 'array', 'in', 'i', 'j', y 'aux', las cuales son utilizadas para almacenar y manipular los números que se ordenarán.

💡Bucle for

Un bucle for es una estructura de control de flujo en la programación que ejecuta un bloque de código repetidamente para un número determinado de veces. En el video, el bucle for se utiliza para recorrer en iteración el array y aplicar el algoritmo de ordenamiento de burbuja a cada par de elementos.

💡Método de intercambio de posiciones

Este método es una función específica que se encarga de intercambiar los valores de dos posiciones en el array. Es un componente clave en la implementación del algoritmo de burbuja, como se muestra en el script donde se intercambian los valores en las posiciones 'i' y 'i+1' si son necesarios.

💡Ordenamiento ascendente y descendente

El ordenamiento ascendente y descendente son dos formas de organizar una lista de números. El ordenamiento ascendente coloca los números en orden de menor a mayor, mientras que el descendente lo hace de mayor a menor. En el video, se muestra cómo el algoritmo de burbuja puede ordenar el array tanto en orden ascendente como descendente.

Highlights

Introducción a un tutorial de Java sobre el algoritmo de ordenamiento de burbuja.

Explicación gráfica del funcionamiento del algoritmo de burbuja.

Implementación del algoritmo de burbuja en Java.

Declaración de variables necesarias para el programa.

Creación de un array para almacenar los números.

Inicialización del array con números aleatorios entre 0 y 39.

Importación de la clase Random para generar números aleatorios.

Creación del método para intercambiar posiciones de elementos en el array.

Implementación del método 'ordenar' que controla si el ordenamiento es ascendente o descendente.

Diseño del método 'mostrar' para imprimir el array en diferentes formatos (desordenado, ascendente, descendente).

Uso de bucles 'for' para recorrer y ordenar el array.

Condicionales para decidir el intercambio de elementos en función del orden deseado.

Inclusión de comentarios y espacios en blanco para mejorar la legibilidad del código.

Llamada a los métodos creados desde el método principal 'Main'.

Creación de un objeto 'burbuja' y uso de sus métodos para generar y mostrar el array.

Prueba del programa para verificar su funcionamiento y visualización de resultados.

Procedimiento para que el programa muestre el array tanto desordenado como ordenado.

Incluye el código completo en la descripción para facilitar su implementación.

Transcripts

play00:06

Bienvenidos a otro tutorial de Java en

play00:08

este trataremos el algoritmo del

play00:10

ordenamiento de la burbuja o Babel short

play00:13

primero veremos un ejemplo gráfico y

play00:15

después su implementación en Java como

play00:17

podéis ver en este ejemplo tenemos

play00:18

cuatro números desordenados entre sí

play00:20

consiste en lo siguiente se comparan dos

play00:23

números consecutivos el de la izquierda

play00:24

es mayor del el de la derecha se se

play00:26

intercambian si no no por cada cambio el

play00:30

método comienza desde el principio

play00:33

comparando como podemos ver a

play00:36

continuación 3 es menor de 8o con lo

play00:38

cual no se intercambian pero podremos

play00:41

podemos ver que ocho Es mayor que dos

play00:44

con lo cual necesitará intercambiarse

play00:46

para que sea efectivo los intercambiamos

play00:49

Volvemos a empezar el método tres Es

play00:52

mayor que dos con lo cual necesitaríamos

play00:54

que se intercambias en los

play00:57

intercambiamos Y de nuevo Volvemos a

play01:00

empezar el método como podemos ver los

play01:03

tres primeros están bien ordenados

play01:05

excepto que el 8o y un están mal

play01:09

posicionados los intercambiaremos así

play01:12

haremos con el uno hasta llegar hasta

play01:14

poner al principio con el mismo método

play01:17

se cambia por el uno por el tres tres

play01:19

por el uno el dos se cambiará por el uno

play01:23

y como vemos a

play01:25

continuación y ya tendremos

play01:28

eh nuestro método de la burbuja ordenado

play01:31

de menor a

play01:32

mayor ahora vamos a ver cómo implementar

play01:37

eh La

play01:39

burbuja el método de ordenar de la

play01:42

burbuja en en Java lo primero que vamos

play01:45

a hacer es declarar algunas variables

play01:49

que vamos a necesitar a continuación la

play01:52

primera se va a llamar va a ser un un in

play01:56

una

play01:57

Ray que llamaremos

play02:01

array y que la iniciaremos

play02:05

vacía aquí es donde guardaremos

play02:08

tod cada número en una posición de la

play02:11

aray vamos a necesitar un in un para

play02:19

hacer los cambios de posiciones estos

play02:23

dos in y 2

play02:28

y

play02:30

blean que llamaremos

play02:35

ascendente por ponerle un nombre

play02:39

vale Bueno vamos a poner el método

play02:45

Main que rellenaremos al

play02:51

final con los otros

play02:55

métodos que harán que funcione nuestro

play02:58

programa

play03:02

ya está bien tenemos que crear un public

play03:07

burbuja como constructor por defecto

play03:10

vacío sin sin código digamos que no hace

play03:14

nada básicamente evit algunos errores lo

play03:18

primero que vamos a hacer es crear el

play03:20

método public

play03:23

vo crear

play03:27

array donde crearemos

play03:30

necesitamos un

play03:32

in solo en esta clase en este método que

play03:36

llamaremos número

play03:38

y será igual a

play03:42

40

play03:45

eh estos son los números que pueden

play03:48

aparecer o sea pueden aparecer del 0 al

play03:50

39 podrán aparecer en nuestro lista

play03:56

eh Ahora vamos a crear un objeto que

play03:59

llamar

play04:05

el array crearemos el array en Sí bueno

play04:09

el array ya está creado está

play04:10

inicializado ahora o sea está creado y

play04:13

lo vamos a

play04:16

inicializar que será igual a New

play04:20

in 20 Qué significa 20 pues que vamos a

play04:23

tener desde la posición 0 a la

play04:26

19 20 posones rellenar nos saldrán 20

play04:31

números y esos números cada uno puede ir

play04:34

del 0 al 39 de momento porque vamos a

play04:37

hacer una cosa para que solo pueda ir

play04:39

del 1 al 40

play04:41

exactos sin Que aparezca el

play04:44

39 o sea el

play04:47

cero bien vamos a empezar un bucle for

play04:51

que pondremos in ig a 0 eh que tendrá

play04:56

una condición de que funcione mientras y

play04:59

sea menor

play05:00

la

play05:02

longitud de la

play05:06

Ray

play05:11

bien y sumará uno por

play05:17

cada Random

play05:20

array que sumará uno por

play05:28

cada

play05:30

cada vez que

play05:37

pase bien y qué hará Bueno pues dentro

play05:42

tenemos que crear

play05:45

Random donde pondremos Random que es un

play05:48

objeto que ahora veremos qué es

play05:51

esto bien hemos creado esto eh nos dará

play05:56

error bien si nos da error que tenemos

play06:00

que hacer Bueno pasa lo siguiente que

play06:04

esto es un método que viene de un

play06:06

paquete que es el que crea los números

play06:09

al azar eh lo que vamos a hacer es

play06:13

importarlo nos vamos arriba import

play06:16

Java

play06:18

útil

play06:20

y Random se llama el paquete bien como

play06:24

vemos se quita el

play06:25

error bien pues

play06:28

en números Random igual a Random punto

play06:36

next int porque son enteros y serán

play06:40

números

play06:44

eh +

play06:48

1 por qué + 1 bueno + 1 para que nos

play06:55

salga del 1 al

play06:58

40 y ahora pemos Random

play07:03

array

play07:06

y números

play07:09

Random

play07:11

perfecto pues esto lo que

play07:15

hace exactamente es cada vez que pasa

play07:18

crea un número al azar que va en este

play07:24

del del cer al del 1 al 40 y lo va

play07:29

rellenando en cada casilla de nuestra

play07:32

raí hasta llenar los 20 huecos bien pues

play07:36

ya tenemos uno de los métodos hecho

play07:39

eh Ahora vamos a hacer otro método qué

play07:43

hace este método muy bien este método es

play07:45

el que realmente

play07:49

ordena es

play07:52

un es el método que llamaremos

play07:56

intercambiar posiciones bien

play08:00

y tenemos que poner inp 1 e in

play08:05

2 vamos a necesitar un int que

play08:12

llamaremos Au auxiliar para hacer la el

play08:15

intercambio bien

play08:22

eh lo que ocurre es lo siguiente tenemos

play08:26

que Au lo igualamos a

play08:30

Random

play08:32

array a la post 2 bien pues cogerá el

play08:37

número que hay en la posición do

play08:41

y Random array post

play08:45

2 será igual a

play08:51

Random por 2 +

play08:57

1 bien

play09:00

Y por último

play09:03

Random

play09:05

array por 2 +

play09:09

1 será igual a

play09:14

a bien pues este sería nuestro método

play09:18

que

play09:18

ordenaría cogería dos números

play09:21

digamos y los

play09:24

intercambiar bien Ahora vamos a hacer un

play09:28

método que llama ordenar que es

play09:31

el el que decide digamos que cómo

play09:37

ordenamos se llama public Bo ordenar y

play09:41

depende de de ascendente buan

play09:46

ascendente

play09:51

bien Vamos a hacer que si If ascendente

play09:55

es igual igual a

play09:58

true

play10:00

y ahora dentro de esto haremos un for

play10:04

que nos imprimirá o sea hará

play10:08

que recorra todas las

play10:12

posiciones de la

play10:15

Ray probando

play10:18

comprobando

play10:21

si si son

play10:25

más como o sea haciendo la comprobación

play10:28

de cambiarlos si se tienen que

play10:30

intercambiar o

play10:32

no post un y post 2+ má bien

play10:41

pues

play10:46

as bien ya está

play10:51

eh Y ahora aquí dentro Tendremos que

play10:54

hacer un

play10:57

If random

play11:00

array porst

play11:05

dos

play11:08

mayor

play11:10

que

play11:12

Random por 2 +

play11:16

1 pues quora intercambiar las

play11:22

posiciones

play11:25

ahora

play11:28

intercambiar

play11:30

posiciones perfecto si dais a control

play11:33

espacio

play11:37

o Recuerda lo que es

play11:41

el digamos el método antes que has

play11:44

creado y te lo pone directamente bien

play11:48

Ahora podremos el c será en el caso de

play11:52

que ascendente sea igual a false

play11:55

y pondremos lo

play11:58

mismo que hay aquí

play12:03

pero la única diferencia es

play12:08

esta este

play12:10

símbolo bien que Ahá que sea diferente o

play12:16

sea sea el

play12:19

contrario bien ya tenemos estos tres

play12:22

métodos ahora por último vamos a hacer

play12:24

un método que

play12:28

muestra por

play12:30

pantalla

play12:33

el cada tipo porque vamos a hacer que si

play12:36

salga el ra tal y como sale desordenado

play12:40

luego de menor a mayor y luego de mayor

play12:42

a menor pues vamos a hacer public vo

play12:45

Mostrar llamaremos lo llamaremos

play12:48

Mostrar

play12:52

eh bien eh necesitaremos

play12:57

un int

play13:04

yaora haremos

play13:08

si aid

play13:16

ordenado dos

play13:19

puntos espacio t que nos tabular la

play13:22

siguiente

play13:23

línea haremos por I =

play13:28

0

play13:29

y menor

play13:32

que Random array punto

play13:36

leng +

play13:41

1 y y+

play13:45

más y haremos que nos lo

play13:49

imprima

play13:52

Ray

play13:53

y

play13:56

más una coma para que nos vaya separando

play13:58

los con comas bien así sería desordenado

play14:03

no hay ningún nada que lo ordene haremos

play14:10

siso control

play14:11

espacio y

play14:14

haremos n y haremos Que aparezca el

play14:18

array ordenado de menor a mayor

play14:28

bien para que salga tabulado haremos lo

play14:31

mismo

play14:33

por con la diferencia de que aquí usamos

play14:36

Pos

play14:37

1 y que sea igual a 1 dos puntos Pos

play14:43

1 menor que Random

play14:49

array punto

play14:52

leng má

play14:55

1 y que 1 incrementando uno

play15:01

bien aquí es donde ya vamos a ordenar

play15:05

con

play15:08

true nos saldrá ordenado de menor a

play15:12

mayor llamando

play15:14

acá true

play15:17

Aquí bien pues ahora tenemos que hacer

play15:19

el otro el que

play15:21

falta que es el de mayor a menor pues

play15:26

haremos lo

play15:27

mismo lo pasamos a la siguiente línea

play15:31

con barra n

play15:35

array

play15:36

ordenado de mayor a

play15:41

menor tabamos la siguiente línea

play15:45

aquí y hacemos un

play15:48

for de tal manera que Pos

play15:53

1 se igual a

play15:57

1

play15:59

y Random array punto l igual que antes +

play16:05

un es

play16:06

idéntico y por un más más

play16:12

bien lo

play16:15

cerramos y vemos qué

play16:19

pasa

play16:21

Eh sí vale aquí faltan dos puntos y aquí

play16:25

poner post un ya

play16:27

está vale Y aquí llamaremos a ordenar

play16:34

false

play16:37

bien De

play16:39

momento nos saldría

play16:44

solo o sea no saldría nada impreso

play16:48

tenemos que poner aquí

play16:52

siso Random

play16:55

arr

play16:57

do

play17:02

vale Pos dos

play17:07

eh

play17:09

más comita comoa para que estén

play17:12

separados porque

play17:16

Eh sí bien y aquí lo mismo Exactamente

play17:21

lo

play17:24

mismo la única diferencia Es que aquí

play17:27

llamamos a la parte del de este método o

play17:31

a otra

play17:32

parte bien pues ya está ya Lo tendríamos

play17:39

hecho bien pues ahora tenemos que volver

play17:41

al método

play17:44

Main y y aquí llamará nuestros métodos

play17:49

que acabamos de crear primero crearemos

play17:50

un objeto que llamaremos

play17:53

burbuja La burbuja igual a New

play18:01

burbuja ya tenemos el objeto creado y

play18:03

ahora pondremos La burbuja punto crear

play18:08

la Ray nos crea la Ray

play18:11

y la

play18:14

burbuja

play18:15

punto Mostrar Ya está ya Lo tendríamos

play18:20

hecho bien Ya solo nos queda

play18:23

probarlo lo tenemos completamente

play18:26

escrito de todas maneras eh lo

play18:29

proporcionaré el código en la

play18:32

descripción para que lo podáis poner

play18:36

directamente y eso es si habéis seguido

play18:40

los pasos pues saldrá como podemos ver

play18:44

aquí nos ha creado

play18:48

eh la raí con todos los números

play18:51

desordenados el la raí ordenado de mayor

play18:53

a menor y el la raí ordenado de mayor a

play18:57

menor Espero que os haya

play19:01

servido

Rate This

5.0 / 5 (0 votes)

Ähnliche Tags
JavaProgramaciónAlgoritmosTutorialOrdenamiento BurbujaCódigo JavaEjemplos PrácticosDesarrollo SoftwareEducación TécnicaInformática
Benötigen Sie eine Zusammenfassung auf Englisch?