Vous êtes sur la page 1sur 4

V ECTORES

En programación, un vector (llamados en inglés arrays) es una zona de almacenamiento continuo, que
contiene una serie de elementos del mismo tipo. Desde el punto de vista lógico un vector se puede ver
como un conjunto de elementos ordenados en fila.

En C#, un vector se define con un par de corchetes [] después del tipo de dato, como se muestra a
continuación.

Sin embargo, para hacer uso de nuestro vector, debemos primero crear la instancia declarando cuantas
posiciones máximas tendrá, como se muestra a continuación:

Luego de esto, podremos almacenar tantos datos del mismo tipo como posiciones tenga el vector. Por
ejemplo en la variable booleanos se podrá almacenar hasta 3 variables de tipo bool y en la variable texto se
podrá almacenar hasta 100 variables de tipo string. Es importante tener en cuenta que la primera posición
de un vector es la posición 0, por lo cual si la longitud es de 5, las posiciones van desde la 0 hasta la 4.

Para almacenar información en un vector, solo debemos hacer referencia a la posición del vector donde
deseamos almacenarla y utilizar el operador de asignación (=).

En el ejemplo anterior, se han almacenado 4 cadenas de texto (strings) en el vector texto declarado e
instanciado anteriormente. Cada string se ha almacenado en una posición del vector diferente. En caso de
almacenar un string en una posición donde ya se había almacenado anteriormente algo, el valor antiguo
será sobrescrito por el nuevo valor.

Las propiedades más importantes que exponen los vectores se presentan a continuación:
Length: Indica la longitud total del vector (En todas las dimensiones).
Rank: Indica el número total de dimensiones del vector.

A continuación se almacena en cada posición restante del vector una cadena de texto mediante un operador
de control de flujo (for).
TIPOS DE O R DE N A MI EN T O S
Para poder ordenar una cantidad determinada de números almacenadas en un vector, existen distintos
métodos (algoritmos) con distintas características y complejidad. Existe desde el método más simple, como
el Bubblesort (o Método Burbúja), que son simples iteraciones, hasta el Quicksort (Método Rápido), que al
estar optimizado usando recursión, su tiempo de ejecución es menor y es más efectivo. Estos métodos son
simples de entender y de programar ya que son iterativos, simples ciclos y sentencias que hacen que el
vector pueda ser ordenado.

BURBUJA SIMPLE
El método de la burbuja es uno de los más simples, es tan fácil como comparar todos los elementos de una
lista contra todos, si se cumple que uno es mayor o menor a otro, entonces los intercambia de posición. Por

ejemplo, imaginemos que tenemos los siguientes valores:

Lo que haría una burbuja simple, seria comenzar recorriendo los valores de izq. a derecha, comenzando por
el 5. Lo compara con el 6, con el 1, con el 0 y con el 3, si es mayor o menor (dependiendo si el orden es
ascendiente o descendente) se intercambian de posición. Luego continua con el siguiente, con el 6, y lo
compara con todos los elementos de la lista, esperando ver si se cumple o no la misma condición que con el
primer elemento. Así, sucesivamente, hasta el último elemento de la lista.

BURBUJA MEJORADO
Si tomamos en cuenta el hecho que los elementos que están detrás del que se está comparando, ya están
ordenados las comparaciones serian aún menos y el método seria aún más efectivo. Si tenemos una lista de
10 elementos y estamos analizando el quinto elemento, qué sentido tiene que el quinto se compare con el
primero, el segundo o el tercero, si supuestamente, ya están ordenados. Entonces optimizamos más aun el
algoritmo, quedando nuestra versión final del algoritmo optimizado de la siguiente manera:

INSERCIÓN
El bucle principal de la ordenación por inserción va examinando sucesivamente todos los elementos de la
matriz desde el segundo hasta el n-ésimo, e inserta cada uno en el lugar adecuado entre sus precedesores
dentro de la matriz.

SELECCIÓN
La ordenación por selección funciona seleccionando el menor elemento de la matriz y llevándolo al
principio; a continuación selecciona el siguiente menor y lo pone en la segunda posición del vector y así
sucesivamente.

Su funcionamiento es el siguiente:

1. Buscar el mínimo elemento de la lista


2. Intercambiarlo con el primero
3. Buscar el mínimo en el resto de la lista
4. Intercambiarlo con el segundo

Y en general:

1. Buscar el mínimo elemento entre una posición i y el final de la lista


2. Intercambiar el mínimo con el elemento de la posición i
V EC T O R E S DI N Á MI CO S Y E ST ÁT I CO S
Lo habitual es que un vector tenga una cantidad fija de memoria asignada, aunque dependiendo del tipo de
vector y del lenguaje de programación un vector podría tener una cantidad variable de datos. En este caso,
se les denomina vectores dinámicos, en oposición, a los vectores con una cantidad fija de memoria asignada
se los denomina vectores estáticos.

El uso de vectores dinámicos requiere realizar una apropiada gestión de memoria dinámica. Un uso
incorrecto de los vectores dinámicos, o mejor dicho, una mala gestión de la memoria dinámica, puede
conducir a una fuga de memoria. Al utilizar vectores dinámicos siempre habrá que liberar la memoria
utilizada cuando ésta ya no se vaya a seguir utilizando.

Lenguajes más modernos y de más alto nivel, cuentan con un mecanismo denominado recolector de basura
(como es el caso de Java) que permiten que el programa decida si debe liberar el espacio basándose en si se
va a utilizar en el futuro o no un determinado objeto.

Vous aimerez peut-être aussi