Arreglos
Arreglo
Un arreglo es una declaración especial de variables que forma
un grupo de posiciones de memoria contiguas, todas las cuales tienen el mismo nombre y el mismo tipo y a las cuáles se les puede acceder por un índice.
El arreglo es un agregado homogéneo ya que combina un
conjunto de datos del mismo tipo.
Existen varias denominaciones para los arreglos en la
literatura, las dos mas comunes son Arreglo o “Array” por su nombre en inglés.
Existen tipos de arreglos según sus dimensiones, al arreglo de
Declaración de arreglos
Los arreglos que nos interesan en este tema son los arreglos
Unidimensionales o vectores, los puedes imaginar como listas horizontales/verticales de datos de un mismo tipo.
Los arreglos ocupan espacio en memoria. En java se usa el
operador new para asignar espacio de almacenamiento al número de elementos requerido por cada arreglo.
Como todos los elementos del arreglo reciben el mismo
nombre es necesario indicar un índice entre paréntesis para identificarlos numéricamente.
Ejemplo de declaración en java:
Declaración de arreglos
Por tanto, si un arreglo tiene n componentes, la primero
localidad está dada por el índice 0, y la última localidad está dada por n-1; siempre y cuando trabajemos en Java o C#, puesto que en Visual Basic el primer elemento está dado por 1 y el último por n.
Ejemplo de declaración en VB:
Dim Edad(6) as Integer
0
n
-1
n
elementos
El índice del arreglo
Para referirnos a una posición o elemento en particular del
arreglo, especificamos el nombre del arreglo y el número de posición de ese elemento en el arreglo.
Por ejemplo, tomando en consideración el arreglo anterior
y suponiendo el uso de Java:
Edad[2]=1; Edad[5]=2; Edad[7]=8;
El índice no solamente puede ser una constante como en el
ejemplo, sino que puede ser representado por una
variable, de hecho, esa es la forma mas común de usarlo.
Por ejemplo, usando el arreglo anterior y suponiendo VB:
Dim Item as Integer
Item=4
Msgbox(Edad(Item))
Resultado es 9.
donde “item” es el índice que representa la posición
dentro del arreglo donde reside el valor a usar.
donde “item” es el índice que representa la posición
Cómo recorrer un arreglo...
Los datos contenidos en un arreglo se pueden acceder de
forma aleatoria usando el índice como se vio en la
diapositiva anterior, sin embargo, también es común la necesidad de revisar todos los datos del arreglo, en este caso hablamos de un recorrido.
Los arreglos se recorren normalmente de manera
secuencial, aunque pudiéramos usar recursividad. El mas sencillo de los ciclos para éste propósito es el ciclo for,
aunque los demás ciclos también te permiten lograr el recorrido tu debes controlar los incrementos.
Observe el siguiente ejemplo en Java
int[] arr = {6,2,8,4,3};
for(int i = 0; i < arr.length; i++) { arr[i] *= arr[i];
}
Nótese la declaración del arreglo si cláusula new sino con
valores determinados entre llaves. Éste tipo de declaración
también es válida en VB
Nótese la declaración del arreglo si cláusula new sino con
valores determinados entre llaves. Éste tipo de declaración
BÚSQUEDAS EN
ARREGLOS
Búsqueda de un elemento
La búsqueda de un elemento es la determinación de la
localidad (del índice) de un elemento que cumple con las características buscadas.
Como el índice es un valor entero ya designado por los
lenguajes de programación una consideración natural sería que un número dentro del rango de elementos del arreglo indique la posición (índice) del elemento encontrado.
Si el elemento no fuese encontrado, la posición sería
naturalmente mayor que n si se realiza la búsqueda ascendente (índice menor a mayor), por el contrario si la búsqueda fuese descendente la posición sería menor que 0 en Java o menor que 1 en VB si se declara el rango de elementos.
Los dos métodos de búsqueda mas comunes en arreglos son:
Búsqueda secuencial
El método de búsqueda mediante la fuerza bruta para
recorrer un arreglo, lo hace a partir de un extremo y
comparando cada elemento buscando una correspondencia. Este método se llama búsqueda secuencial.
Veamos un Ejemplo en VB:
Dim n As Integer = 9 res.Text = "“
item = 0
While (item < Edad.Length) If (Edad(item) = n) Then
res.Text = Edad(a) & " está en posición:” & item item = Edad.Length
Else
item += 1 End If
End While
Mientras NO llegue al final del vector, continua la
búsqueda
Mientras NO llegue al final del vector, continua la
búsqueda
¿El elemento buscado es igual al elemento
del vector en la posición del índice?
¿El elemento buscado es igual al elemento
del vector en la posición del índice?
A la variable índice (item) le asignamos el largo del vector para provocar la salida del ciclo
Búsqueda Secuencial
Se tiene un arreglo ordenado de 19 casillas.
Si buscamos el número 107. ¿En que posición del arreglo se
encuentra? ¿Cuántas comparaciones se hacen?
El resultado seria Posición=16, comparaciones = 17, esto
Créditos
Prof. Ulises Ponce Mendoza, aporte propios.
Ramírez, Felipe. Aprenda Practicando Visual Basic 2005 usando Visual
Studio 2005, Ed. Pearson Educación, México, 2007.
Recursos Visual Basic, Los Arreglos, vectores, matrices y controles,
10-08-2011,URL: http://www.recursosvisualbasic.com.ar/htm/tutoriales/tutorial-basico6.htm.
El Guille.net, Caracteristicas del Lenguaje: Arrays, 10-08-2011, URL: