Uncategorized

Programando en C: Estructuras de datos

Capítulo 10: Estructuras de datos

¿Qué son las estructuras de datos?

Hasta este momento, hemos visto que es completamente frecuente y normal guardar la información que usa un programa en variables, y realizar operaciones con estas.

Las variables, por tanto, constituyen una forma inicial de guardar información, y de poder empezar a mover esta información a lo largo de un programa.

Sin embargo, hay ocasiones en las que la sencillez de las variables las hacen demasiado pequeñas como recurso, para solucionar ciertos tipos de problema.

Yo suelo decir que una variable es algo así como una caja de zapatos.

Es un contenedor, que puede contener una pieza de información, pero que no puede contener demasiadas piezas de manera simultánea.

de esta forma, hay veces que, cuando necesitamos guardar múltiples piezas de información, realmente no necesitamos una caja, ni un cajón, sino un armario.

Un armario, en definitiva, es una estructura donde podemos guardar múltiples piezas de información de manera simultánea.

Así que, por tanto, las estructuras de datos son formas más complejas y más estructuradas de guardar múltiples piezas de información.

Las estructuras de datos nos ofrecen métodos más complejos y más completos de almacenar múltiples piezas de información, que finalmente necesarias por parte de los programas que desarrollamos.

Las estructuras que vamos a ver en este capítulo

Matrices

Las matrices son una de las formas más básicas de implementar las estructuras de datos, y se encuentran disponibles en la gran mayoría de lenguajes de programación

Permiten almacenar multitud de datos, en la gran mayoría de lenguajes de programación, permiten almacenar varias dimensiones

A continuación, se muestra un ejemplo en el que, en primer lugar, se declara una matriz, a continuación, valores y por último, se recuperan estos valores previamente introducidos.

agenda.c
#include <stdio.h>
int main(int argc, char *argv[]) {    int telefono[10];    telefono[1] = 12345;    telefono[2] = 23456;    telefono[3] = 34567;        printf(«El segundo telefono es: %i \n»,telefono[2]); return 0;}

Como podemos observar, también conocidas como colecciones, pueden albergar diferentes piezas de información bajo un mismo nombre.

De esta forma, realmente realizan una función que podríamos con varias variables, tener que usar los diferentes

Aplicación sobre el ejercicio de la publicacion

Matrices multidimensionales

Hasta el momento, mediante el uso de las matrices de una sola dimensión, hemos podido comprobar que podemos introducir múltiples piezas de información de forma simultánea, y las podemos recuperar más adelante, lo cual evidentemente ya constituye una ventaja con respecto al uso de las variables

 sin embargo, con respecto al ejercicio de la publicación, o en definitiva, con respecto al desarrollo de cualquier ejemplo parecido al de una agenda, veremos que, realmente, en cada registro, es poco práctico únicamente poder introducir un dato, que en este caso ha sido el número de teléfono

 para poder introducir un registro de forma correcta, lo habitual es poder introducir una serie de piezas de información para cada uno de los registros. típicamente, por ejemplo, en el caso de una agenda, como mínimo, queremos saber a qué nombre de usuario pertenece ese teléfono, y ya que estamos, podríamos introducir también una dirección de correo electrónico asociado a ese usuario y a ese teléfono. estas piezas de información serán suficientes para ilustrar el concepto que se muestra a continuación, ya que evidentemente, donde introducimos 3 piezas de código podríamos introducir 300 o 3000 

Mediante el uso de dos o más dimensiones somos capaces de albergar todavía más piezas de información dentro de cada uno de los registros que guardamos en la estructura de datos

 en el siguiente ejemplo se muestra un guardado en una matriz de 2 dimensiones punto en primer lugar, podemos comprobar como como, utilizando dos parejas de corchetes, especificamos el número de dimensiones de la matriz, e indicamos el número de elementos que va a contener 

A continuación, empezamos a introducir cada uno de los registros, donde, como podremos comprobar, tenemos espacio tanto para albergar el nombre, el teléfono, como el correo electrónico, virtualmente entre otros tantos datos que podríamos introducir

 de esta forma, las matrices bidimensionales se asemejan a hojas de cálculo, en las que encontramos filas y columnas. digamos que las filas, serían cada uno de los registros principales, correspondientes a la primera dimensión, y las columnas, serían cada uno de los registros secundarios, correspondientes en este ejemplo a la segunda dimensión

 por supuesto es posible introducir más dimensiones. cuando se trabaja con tres dimensiones ya no se puede poner el ejemplo de la hoja de cálculo, pero sin ejemplo pero sin embargo se puede introducir el ejemplo del palet lleno de cajas

 con matrices de 4 dimensiones, que son perfectamente posibles, el ejemplo, evidentemente, es más difícil de visualizar, pero no por ello menos posible o menos funcional 

agenda.c
#include <stdio.h>
int main(int argc, char *argv[]) {    char* agenda[10][4];    agenda[1][1] = «Jose Vicente»;    agenda[1][2] = «123456789»;    agenda[1][3] = «info@josevicentecarratala.com»;        agenda[2][1] = «Juan»;    agenda[2][2] = «987654321»;    agenda[2][3] = «juan@josevicentecarratala.com»;        printf(«El segundo telefono es: %s \n»,agenda[2][1]); return 0;}

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *