Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ESTRUCTURA DE DATOS
Las estructuras de datos en C++ se pueden entender como un tipo de dato compuesto
(no complejo). Las estructuras de datos permiten almacenar de manera ordenada una
serie de valores dados en una misma variable. Las estructuras de datos más comunes
son los vectores o arreglos y las matrices, aunque hay otras un poco más diferentes
como son el struct y las enumeraciones.
Las estructuras de datos han sido creadas para solucionar una gran variedad de
problemáticas que no eran solucionables (o al menos no muy fácilmente) con los tipos
de datos primitivos. Tal como mencioné hace un momento las estructuras de datos se
pueden ver como una agrupación o estructuración para una serie de tipos de datos
primitivos (aunque también pueden poseer tipos de datos complejos) que pueden ser
fácilmente utilizadas e identificadas. Sin la existencia de las estructuras de datos sería
imposible o bastante complicado por ejemplo conocer y manejar todos los números de
identificación, nombres y direcciones de todos los usuarios de un sistema (que
normalmente serían muchísimos) pero ahora con las estructuras de datos es muy simple
definir una serie de posiciones en memoria para cada valor que deseamos guardar o
definir un orden o valores específicos para cada campo y accediendo a ellos
generalmente por medio de una única variable, todo esto es sencillo hacerlo con el uso
de las estructuras de datos y sin desperdiciar recursos.
ARREGLOS
Imaginemos que queremos crear un programa con el cual podamos de algún modo
almacenar los títulos y los autores de diferentes libros. El usuario es el encargado de
suministrar la información de cada libro, así entonces, dado que es el usuario quien lo
hace, nosotros no tenemos manera alguna de saber cuántos libros va querer él ingresar
por medio de nuestro programa. El caso principal es que queremos almacenar en la
memoria el título y el autor de TODOS y cada uno de los libros. Entonces ¿cómo crees
que podrías hacer esto? Con lo que sabemos hasta hora, se nos podrían ocurrir un par
de cosas. Veamos:
Curso: Borland C++ L.M.V. 4-6 pm.
CADENAS
Las cadenas de caracteres se definen como un arreglo de datos de tipo caracter el cual
termina con el carcter nulo.
Un arreglo es un grupo de datos homogéneos y finitos que ocupan posiciones
consecutivas de memoria.
Por ejemplo:
char cadena[10];
Crea un espacio en memoria para 10 bytes cada uno de los cuales será ocupado por
uno de los caracteres que se van a leer.
Para hacer la lectura de una cadena de caracteres se pueden utilizar la función scanf o
gets de la siguiente forma:
scanf("%s",cadena); o gets(cadena);
Curso: Borland C++ L.M.V. 4-6 pm.
La ventaja de utilizar el gets en lugar del scanf es la lectura de los espacios en blanco,
cosa que no hace el scanf.
Otra forma de leer una cadena de caracteres es hacerlo caracter por caracter como un
arreglo unidimensional o vector, manejándola posición por posición cadena
[posición], más adelante se verá un ejemplo de lo antes mencionado.
Cadena de texto:
Función Descripción
MATRICES
Es un arreglo de dos dimensiones.
Son estructuras de datos que agrupan muchos datos del mismo tipo, en donde cada
elemento se puede trabajar individualmente y se puede referenciar con un mismo
nombre. Se usan para representar datos que pueden verse como una tabla con filas y
columnas.
Declaración:
Tipo_dato nombre_matriz [índice fila] [índice columna]
Uso:
Declaración e iniciación:
Si el tipo del arreglo es numérico, a sus elementos se les asigna el valor cero.
Si el tipo del arreglo es char, a sus elementos se les asigna el valor ‘\u0000’.
Si el tipo del arreglo es bool, a sus elementos se les asigna el valor false.
Si el tipo del arreglo es una clase, a sus elementos se les asigna el valor null.
Ejemplo:
#include <stdio.h>
int main()
{
int fila, columna;
int matriz[2][2];
for(fila=0; fila<2; fila++)
for(columna=0; columna<2; columna++)
printf(“%d”, matriz[fila][columna]);
return 0;
}
Curso: Borland C++ L.M.V. 4-6 pm.