Invertir arreglo en C (ANSI C)

Resumen

Crear el código necesario en C para invertir un arreglo o array, usando ciclos y una variable temporal, sin usar arreglos extra.

Nota: en otro post te mostré cómo invertir una cadena en C.

Arrays en C

Arreglo invertido usando ANSI C

Los arrays en C son de una longitud fija, y por lo tanto no podemos crear un arreglo en tiempo de ejecución y llenarlo con los otros datos (aunque se podría con una pila dinámica) pero podemos usar un ciclo for y una variable temporal.

Algoritmo para invertir un arreglo

Recorremos el arreglo desde 0 hasta la mitad de su longitud, declaramos una variable temporal fuera del ciclo, y también una que irá aumentando en cada iteración (el índice).

Después hacemos la asignación de:

temporal = arreglo[índice]

arreglo[índice] = arreglo[longitud - x - 1]

arreglo[longitud - x - 1] = temporal

Es decir, en la temporal guardamos el valor de la izquierda del arreglo, y en el extremo derecho guardamos lo que había en el izquierdo.

Estamos restando 1 a x y a longitud porque recuerda que los arreglos comienzan en 0, y que el último elemento está en longitud - 1.

Código para invertir arreglo en C

Después de haber explicado el algoritmo veamos el código que invierte un array en C:

Puedes ejecutarlo en este enlace.

Invertir arreglo en C (ANSI C)

Por parzibyte Tiempo de lectura: 1 min
0