Veamos otro ejemplo de un arreglo ordenado bueno, tiene que ser ordenado porque la idea es agregar
un elemento cualquiera, pero que quede insertado en una posición específica, de tal forma que se mantenga
ordenado.
Es decir, no se puede agregar en cualquier parte del arreglo una posición adecuada, como por ejemplo
si insertamos en esta tabla.
Acá tenemos una tabla con varios números de siete elementos, pero el último índice seis es cero.
Claro, porque tenemos que reservar un espacio, un hueco para poder agregar este elemento.
Recuerden que los arreglos, igual que en el ejemplo anterior, no crecen de forma dinámica.
Por lo tanto, no podemos agregar elementos, de manera que el arreglo vaya creciendo.
No se puede.
Para eso utilizamos colecciones lápiz de colección Villaba o bien copiar el arreglo con todos su elemento
a uno de tamaño mayor.
Pero para este caso tenemos que tener un espacio disponible.
Por eso el último 0, pero sí la idea de insertar, por ejemplo, el 21, de tal forma que se mantenga
ordenado en el arreglo, busca la posición adecuada.
Por ejemplo, 15, 17, 19 y ver en qué posición puede ir entonces ver el 21.
Entre dos posiciones, en este caso entre 19 y 23 x.
Entonces se agrega en el índice 3.
Tenemos que buscar este índice, el adecuado y el elemento que estaba anteriormente.
Por ejemplo, 23 lo desplazamos en las siguientes posiciones y así con el siguiente 25 iría en la posición
5, el 27 en la posición 6 donde estaba el hueco.
El cero, es decir, el ejercicio, hace que no lo pueden implementar o tratar de desarrollar.
De hecho, similar al ejemplo anterior, cuando agregamos una posición y un valor, pero acá la posición
la tenemos que buscar, la tenemos que calcular esa diferencia.
Vamos al código, voy a crear una nueva clase en Rocé.
Ejemplo Arreglos Desplazar posición 3.
Con él me
parece un arreglo con siete elementos, un arreglo ordenado, vamos a tener dos variables número el
número que vamos a insertar y la posición que tenemos que calcular
escaner para completar, llenar nuestro arreglo, inicializar los datos.
Bien, pero recuerden dejar un espacio reservado, un hueco en el último, por lo tanto solamente vamos
a llenar hasta el total menos 1, es decir, seis elementos tiene 7, pero llenamos 6 y dejamos 1 reservado
para poder insertarse menos uno o simplemente pueden colocar 6.
No faltó el mensaje acá, entonces por acá un Soult.
Pero vamos a imprimir hacia el lado, entonces solamente print.
Ingreso número
dos, punto y un espacio.
Y como tenemos acá un print por acá un salto línea A es opcional solamente para el tema visual.
Nada más.
Y acá pedir el número a insertar.
Pero tenía que ser un número que esté dentro del rango de los anteriores.
De lo que agregamos para que se mantenga ordenado, perfecto.
2 punto 3 sería el número y afectaría la posición?
No lo sabemos.
Tenemos que calcular entonces la idea de recorrer este reloj que tenemos de 6 elemento.
En realidad son siete, pero solamente vamos a recorrer los seis.
Lo que ingresamos y recorremos, el cual mientras el número sea mayor que cada posición que cada elemento
de la red, lo bueno y cuando encuentra uno que sea mayor que número, por lo tanto un número menor,
nos salimos del guai.
Entonces encontramos la posición justo donde tenemos que insertar ese número.
Entonces la posición va a ser un área de control dentro del huay.
Bueno, primero siempre hasta el límite posición, es decir, mientras la posición sea menor que 6,
porque vamos a recorrer hasta 6 elementos nada más.
De lo contrario, por ejemplo, es importante esta validación, porque si no, si no encuentra una posición
en el arreglo va a ser la última posición.
Pero de todas formas, si no lo encuentra va a recorrer el cual de forma infinita.
Entonces por eso tenemos que acotar hasta seis, que son los elementos que tenemos en el arreglo, los
elementos definidos o asignados.
Entonces, también, mientras número sea mayor que algún valor que algún elemento posición, incrementamos
posición, recorremos el buey y tiramos mientras el número sea mayor o se mantenga como mayor a los
elementos red.
Y cuando un elemento la red sea mayor que número, ya no se cumple la condición porque encontramos la
posición donde tenemos que agregarlo y por eso vamos incrementando.
A medida que se va incrementando vamos avanzando en las posiciones hasta llegar a esta condición.
Por lo tanto, ya un elemento en mayor número se sale el arreglo y tenemos esa posición y lo tengo que
insertar previo a ese elemento mayor.
Por eso es hasta nos incluya.
Es hasta esa posición.
Lo siguiente Bueno, desplazar los elementos que tenemos la oposición.
Ahora tenemos que pasar los elementos siguientes hacia abajo, partiendo desde el último elemento,
honraría el penúltimo, porque el penúltimo lo tengo que dejar donde el último y así ir bajando hasta
la posición.
Es decir, vamos moviendo todos los elementos desde la posición encontrada.
Vamos desplazando entonces parte del penúltimo, entonces el link menos dos, hasta que Eli sea mayor
o igual a la posición y nos vamos bajando.
Entonces partimos del penúltimo y vamos bajando hasta la posición inclusive.
Por eso es igual mientras sea el y mayor o igual que la posición.
Ahora desplazamos y +1 la posición actual.
Entonces, igual que en el ejemplo anterior, muy similar desde el penúltimo, en este caso desde el
índice 5, porque son siete elementos, pero el último corresponde al índice 6 y el penúltimo al índice
5.
Por eso partimos del índice 5 y ese elemento o ese número lo dejamos en el último, en el índice 6.
Entonces parte del 5 y el 5 penúltimo lo dejamos en el último y así bajamos y vamos moviendo, desplazando
los elementos hasta llegar a la posición encontrada.
Ahora lo siguiente es asignar en la posición que encontramos asignamos el número, el valor ingresado.
El nuevo reloj ordenado queda de la siguiente manera.
Incluso podría mostrar el índice y más.
Que tenemos una flecha es.
Bien, vamos a probar.
Ingreso número.
Bueno, veamos el ejemplo.
Partimos en 15.
17.
19.
23.
25 y 27.
6.
Elemento y 1.
A insertar.
Habíamos dicho el 21 entonces.
Así que la talla 15.
17.
19.
21.
Y acá está el 21.
Entre el 19 y el 23, en la posición 3.
Por lo tanto, antes estaba acá el 23 y se desplaza hacia abajo.
Y el 25 también se desplaza.
Y antes, en la posición 6, donde estaba el hueco o el valor cero, lo toma el 27.
Es decir, se desplazan todos los elementos, desde la posición encontrada desde la posición 3 con el
valor 21.
Entonces acatarlo 23 y se desplaza y así hacia abajo.
Ahora este ejemplo solamente para arreglos ordenados continuamos en la siguiente clase.