Vamos a ver otro pequeño ejemplo para tratar con tablas. En esta ocasión, tenemos una tabla con 25 elementos que suponemos que ya está llena. Lo que queremos es dar la "vuela" a la tabla, digámoslo de otra manera, el elemento que está en la primera posición ha de ocupar la última y el elemento de la última deberá pasar a la primera. Ej.: La tabla: 1, 2, 3, 4, 5 después tendrá este aspecto 5, 4, 3, 2, 1. Hemos añadido números a las líneas para facilitar la explicación.
1.- Tabla[25]: Número
2.- IndicePrimero: Número
3.- IndiceUltimo: Número
4.- Elemento: Número
5.- IndicePrimero = 1
6.- IndiceUltimo = 25
7.- Repetir
8.- Elemento = Tabla[IndicePrimero]
9.- Tabla[IndicePrimero] = Tabla[IndiceUltimo]
10.- Tabla[IndiceUltimo] = Elemento
11.- IndicePrimero = IndicePrimero + 1
12.- IndiceUltimo = IndiceUltimo - 1
13.-Hasta que IndicePrimero = IndiceUltimo
1.- Definimos una tabla llamada Tabla con 25 posiciones de tipo Número.
2.- Definimos una variable llamada IndicePrimero que nos servirá para movernos por la tabla desde la primera posición en adelante.
3.- Definimos una variable llamada IndiceUltimo que nos servirá para movernos por la tabla desde la última posición hacia atrás.
4.- Definimos una variable llamada Elemento para utilizarla de puente en el momento de mover el contenido de una posición a otra. Esta variable es necesaria ya que si hacemos el cambio desde, por ejemplo, la primera a la última posición perderíamos el valor que teníamos en la primera posición.
5 y 6.- Inicializamos las variables IndicePrimero a 1 y IndiceUltimo a 25 ya que queremos partir, respectivamente, desde la primera y la última posición.
7.- Entramos dentro del bucle.
8.- Hacemos que la variable Elemento tome el valor del contenido de la tabla que nos indique IndicePrimero.
9.- Hacemos que la posición que nos indica IndicePrimero tome como valor el valor que tiene la posición que nos indica IndiceUltimo.
10.- Ahora la posición que nos indica IndiceUltimo toma como valor el contenido de la variable Elemento.
11.- Aumentamos IndicePrimero en 1 para adelantar en la tabla.
12.- Disminuimos IndiceUltimo en 1 para retroceder en la tabla.
13.- Repetiremos el bucle hasta que los dos índices se encuentren. Éste será el punto en el que no se tendrán que mover más elementos ya que, nos encontramos justo en la mitad de la tabla.
Hay que tener en cuenta que esta solución es válida en el caso que la cantidad de posiciones en la tabla sean impares. Para una cantidad par tendríamos que buscar otra solución. No estaría plantearse esto como un nuevo ejercicio.
Cuando salimos del bucle la ordenación de la tabla ha concluido.
Mírese el código tantas veces como sea necesario, si no entiende algún punto no dude en preguntarlo.
Hay 437 opiniones. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
Bases de Datos en C# El curso incluye el código necesario para acceder a las bases de datos y realizar consultas de selección y de acción.... [05/04/07] |
|
4.826 | ||
|
Manual de estilo de páginas Web En este curso se quiere dar una guía muy amplia para todos aquellos que están interesados en crear una página Web. Dando explicaciones de como crear un buen diseño tanto ... [05/05/05] |
|
14.413 | ||
|
HTML para principiantes HTML para principiantes, aprende a hacer tus propias páginas web. Programar en un lenguaje como es HTML puede ser fácil y sencillo. Este curso está di... [15/09/09] |
|
2.346 | ||
Publicar en
del.icio.us
digg
meneame