martes, 14 de marzo de 2017

Arrays en C++

Unidad Educativa Fiscomisional "Don Bosco"
Nombre: Yadira Nivelo
Curso: 2do.Informatica

*Es un array de elementos que crece o mengua dinámicamente conforme los elementos se agregan o se eliminan. Se suministra como librerías estándar en muchos lenguajes modernos de programación.

Un array dinámico no es lo mismo que un array asignado dinámicamente, que es un array de tamaño fijo, pero cuyo tamaño se fija cuando se asigna por primera vez.

function insertarAlFinal(dynamicarray a, elemento e)
    // Si es necesario, duplicar el tamaño del array
    if (a.tamaño = a.capacidad)
        a.capacidad ← a.capacidad * 2
    // Copiar el elemento a la ubicación de memoria 
    a[a.tamaño] ← e
    a.tamaño ← a.tamaño + 1


Punteros en C++

Unidad Educativa Fiscomisional "Don Bosco"
Nombre: Yadira Nivelo
Curso: 2do.Informatica

Los punteros en C++ (o apuntadores) son quizá uno de los temas que más confusión causan al momento de aprender a programar en C++, sin embargo verás que no es para tanto y que todo depende de dos elementos: el signo & (ampersand) y el * (asterisco) que los explicaré en breve. Durante este artículo verás entonces que no es para nada difícil hacer y usar punteros y que además son de gran ayuda al momento de necesitar valores y estructuras dinámicas, por ejemplo, para crear un array dinámico, con dinámico me refiero a que su tamaño puede ser establecido en tiempo de ejecución y lo mismo se puede hacer con las matrices (que en realidad son un array multidimensional)

Ejemplo de punteros

 
int variable; //Creamos un entero
int * apuntador = &variable;//Creamos una apuntador a la posición en memoria de "variable"
*apuntador = 20; //Le asignamos un valor a esa posición de memoria.

delete [] apuntador; //Después de operar con punteros es necesario liberar la memoria.
puntero = NULL;

Vectores en C++

Unidad Educativa Fiscomisional "Don Bosco"
Nombre: Yadira Nivelo
Curso: 2do.Informatica

Un vector, también llamado array(arreglo) unidimensional, es una estructura de datos que permite agrupar elementos del mismo tipo y almacenarlos en un solo bloque de memoria juntos, uno despues de otro. A este grupo de elementos se les identifica por un mismo nombre y la posición en la que se encuentran. La primera posición del array es la posición 0.


Matrices en C++

Unidad Educativa Fiscomisional "Don Bosco"
Nombre: Yadira Nivelo
Curso: 2do.Informatica



*Las matrices o como algunos las llaman "arreglos multidimensionales" son una estructura de datos bastante similar a los vectores o arreglos. De hecho, una matriz no es más que una serie de vectores contenidos uno en el otro (u otros), es decir, una matriz es un vector cuyas posiciones son otros vectores. Hablemos con más detalle de esto para quedar más claros.

Declaración de una matriz en C++

 
int myMatriz1[10][5];
float myMatriz2[5][10];
string myMatriz3[15][15];
bool myMatriz4[1000][3];

Arrays, arreglos o vectores en C++

Unidad Educativa Fiscomisional "Don Bosco"
Nombre: Yadira Nivelo
Curso: 2do.Informatica

Los arrays, arreglos o vectores forman parte de la amplia variedad de estructuras de datos que nos ofrece C++, siendo además una de las principales y más útiles estructuras que podremos tener como herramienta de programación. Los arrays, arreglos o vectores (como los quieras llamar), son utilizados para almacenar múltiples valores en una única variable.


Declaración de un Array o Vector en C++
 
int my_vector1[10];
float my_vector2[25];
string my_vector3[500];
bool my_vector4[1000];
char my_vector5[2];
 

Colas en C++

Unidad Educativa Fiscomisional "Don Bosco"
Nombre: Yadira Nivelo
Curso: 2do.Informatica

Una cola es un tipo especial de lista abierta en la que sólo se pueden insertar nodos en uno de los extremos de la lista y sólo se pueden eliminar nodos en el otro. Además, como sucede con las pilas, las escrituras de datos siempre son inserciones de nodos, y las lecturas siempre eliminan el nodo leído.


struct nodo {
   int dato;
   struct nodo *siguiente;
};

Pilas en C++

Unidad Educativa Fiscomisional "Don Bosco"
Nombre: Yadira Nivelo
Curso: 2do.Informatica
Una pila es un tipo especial de lista abierta en la que sólo se pueden insertar y eliminar nodos en uno de los extremos de la lista. Estas operaciones se conocen como "push" y "pop", respectivamente "empujar" y "tirar". Además, las escrituras de datos siempre son inserciones de nodos, y las lecturas siempre eliminan el nodo leído.
Estas características implican un comportamiento de lista LIFO (Last In First Out), el último en entrar es el primero en salir.
El símil del que deriva el nombre de la estructura es una pila de platos. Sólo es posible añadir platos en la parte superior de la pila, y sólo pueden tomarse del mismo extremo.

El nodo típico para construir pilas es el mismo que vimos en el capítulo anterior para la construcción de listas:


struct nodo {
   int dato;
   struct nodo *siguiente;
};