Buscar un Elemento dentro de un Vector

en VB .Net

Algoritmo para encontrar la posición de un elemento en un vector

A continuación se muestra una función muy sencilla y útil en la que dado un vector (array) y un elemento a buscar, si lo encuentra nos devuelve la posición en la que está, sino nos devuelve -1.

1
2
3
4
5
6
7
8
9
10
11
12
13
    Function BuscarElemento(ByRef vector As Integer(), ByVal valor As Integer)
        Dim encontrado As Boolean = False
        Dim posicion As Integer = -1
        Dim i As Integer = 0
        While Not encontrado And i < vector.Length
            If vector(i) = valor Then
                posicion = 1
                encontrado = True
            End If
            i = i + 1
        End While
        Return posicion
    End Function

El algoritmo recorre el vector empezando desde la posición 0 hasta la última posición. En caso de que encuentre el valor saldrá del bucle directamente, sin tener que acceder a cada posición.

Aunque el código esté escrito en VB.NET el algoritmo es igualmente válido para la gran mayoría de lenguajes de programación

Ejemplo de Uso

En este ejemplo se supone que se tiene un vector de enteros y que se quiere buscar el primer elemento del vector que contiene un 10.

1
2
3
4
5
6
7
Dim posicion As Integer = BuscarElemento(vector,10)
if (posicion <> -1) then
 'encontrado
 vector(posicion) = vector(posicion) + 1
else
 'no encontrado
end if

Prohibida la reproducción total o parcial de este artículo sin el previo consentimiento de Webtutoriales.com

Comentarios