Continuemos con un ejemplo que es similar al anterior, pero en vez de desplazar todos los elementos,
mover uno a uno desde la primera hasta la última y el último en la primera, acá tenemos que agregar
un nuevo elemento en alguna posición determinada que exista en el arreglo.
Por ejemplo, un arreglo de diez elemento y podríamos querer agregar un elemento en la posición 5,
pero el resto de los elementos, es decir, a partir de esa posición, mover los elementos hacia adelante.
El 6, por ejemplo, queda donde está el 7, el 7, donde está el 8, el 8, donde está el 9.
Y el último elemento va a ser un elemento por defecto vacío, por ejemplo, cero.
Claro, porque la idea es tener una red de diez elemento, pero que contenga solamente 9 números, 9
elementos más y uno vacío.
Para poder insertar algún valor y desplazar insertamos este número.
Este valor y los siguientes lo desplazamos una posición, como por ejemplo insertamos el 100 en la posición
5.
Entonces bueno, tenemos el 1 2 3 4 5 hasta la posición 4, pero en la posición 5 dejamos el 100 y el
6 que antes estaba en la 5, en el índice 5 lo desplazábamos en 1, entonces lo movemos en la posición
6.
Luego el 7 lo emplazamos también 1 y así sucesivamente.
Bueno, y el cero valor nulo por defecto o vacío desaparece.
Y ahí tenemos nuestro reloj con un elemento más.
Igual que en el ejemplo anterior, puede quedar como tarea, como desafío, lo pueden implementar o
tratar de desarrollar, así que pueden dejar esta clase en pausa y después la revisan y la analizan
completamente o si prefieren, también la pueden ver desde ya.
Vamos al código muy parecido a este ejemplo, así que voy a copiar y voy a pegar.
Lo seleccionamos.
Ejemplo arreglos, desplazar posición.
Lo pegamos acá lo modificamos para que no sea tan largo.
Nombres debemos colocar, desplazar.
Posición 2.
Ejemplo 2.
Voy a cerrar los anteriores.
Dejamos solamente desplazar posición.
2.
Bien un arreglo con 10 elemento con las escaner, pero solamente vamos a llenar 9.
Es decir, el total o el link menos.
1.
Así dejamos uno vacío con el valor cero.
El último queda en valor cero y llenamos de cero hasta el índice 8, pero 9 con el valor cero 0 por
defecto.
Bien, pero acá tenemos que pedir el elemento, el número y también la posición para poder insertar
un nuevo elemento en el arreglo y así desplazar estos elementos.
Saca el entero último, los voy a quitar y lo vamos a cambiar por elemento y posición, porque son dos
variables elemento dos variable y acá bajamos elemento.
Pero recuerden, lo vamos a pedir al usuario vía la clase scaner Next int.
Nuevo elemento el tono pidiendo al usuario.
Posición donde agregar el elemento de 0 a 9
perfecto.
Acá tenemos el Ford y también parte desde arriba, es decir, desde el último elemento hacia abajo tiene
que partir del índice 8, en este caso es 10 menos 2 8.
Bueno, si colocamos, por ejemplo, el último elemento va a ser el índice 9, es decir, el último,
pero no puede aplazar el último elemento, el índice 9, que incluso ese valor cero no lo puede pasar
a un índice +1 porque no existe, lanzaría un error.
De hecho, acá muestra Array Index is out of Bounds, está fuera de los límites y lanzaría este error.
La excepción, claro, entonces, tiene que ser desde el 8 1 antes, entonces acá menos 2.
O simplemente colocamos 8.
El penúltimo y el valor actual, es decir, el penúltimo.
Cuando comenzamos a iterar lo dejamos en el último y así empezamos a desplazar los elementos de arriba
hacia abajo, hacia la posición indicada.
Bueno, acá no termina cero como en el ejemplo anterior.
El ejemplo anterior era desplazar todos los elementos en 1.
Acá es desplazar solamente hasta la posición en el cual vamos a insertar el nuevo elemento.
Entonces sería simplemente acá posición, nada más.
Entonces va dar hasta que licea mayor o igual a la posición y esta iba a desplazar los elementos clave
justamente como insertamos.
Por ejemplo, quiero insertar en la posición 5, entonces el elemento que estaba en esa posición lo
tengo que mover a la siguiente.
Entonces por eso el elemento de esa posición lo movemos a la siguiente.
Y siempre tiene que ir creciendo porque parte desde el último elemento.
Por eso Eli es el penúltimo, porque ya tenemos el +1 y va creciendo hasta llegar a la posición donde
insertamos el elemento que faltaría insertar el elemento en la posición indicada.
Entonces cacería el arreglo a posición Llaca elemento y eso sería el arreglo finalmente queda.
De esta forma vamos a probar, levantamos.
Bueno, de 1 hasta 10,
hasta 9 hasta 9, porque dejamos uno vacío reservado para el nuevo elemento que vamos a insertar.
Perfecto, nuevo elemento.
Por ejemplo, el 100 y lo quiere insertar en la posición 5 de cero a la nueve.
1 2 3 4 5 6 se desplaza porque agregamos el 100 en la posición 5 sería cero una dos tres cuatro cinco.
El 6 se desplaza al 100 y movemos todos los elementos hacia adelante.
Repasamos una posición 6 7 8 9.
Ahora, por ejemplo, si levantamos de nuevo.
Igual
nuevo elemento 100 en la posición de 0 9.
Por ejemplo, el Hannover, que sería la última, no pudo colocar el 10 porque la posición 10 no existe.
El arreglo de 10 elementos, pero va desde la posición cero hasta la posición 9 psicologos 10 lanzaría
un error, una opción de que se desbordó la posición 9 perfecto y lo inserta en la última posición.
Bueno, en realidad, cuando es la última posición no se desplaza ningún elemento.
De hecho, el foro ni siquiera se ejecuta por la validación, acá pregunta si helí en mayor o igual
a la posición, por ejemplo parte 8 8 mayor igual que 9 no. Por lo tanto no hay.
Simplemente lo inserta en la última posición, pero sí podría ser.
Por ejemplo, en vez de 9 8 8 es mayor, igual que 8.
Nueva posición.
Claro que si iba a desplazar solamente el 9 en 9 acá y el 100 quedaría acá donde estaban.
9.
100 por ejemplo o cualquier número de la misma posición 8.
7 8 Acaba el 100.
9.
Y no se desplaza nada más.
Seguimos en la siguiente clase.