Clase de Arreglos
Clase de Arreglos
Clase de Arreglos
Unidad 7: Arreglos
Algorítmica y Programación
Estructuras de datos
Estructuras de datos
Arreglos
Arreglos unidimensionales:
vectores
• El tipo más simple de arreglo es el arreglo unidimensional o vector.
Un vector de una dimensión denominado NOTAS que consta de n
elementos se puede representar así:
Ejemplos:
Arreglos unidimensionales:
Operaciones con Vectores
Las operaciones que se pueden realizar con vectores
durante el proceso de resolución de un problema
usando la programación son:
• Recorrido (acceso secuencial)
• Lectura/escritura
• Asignación
• Actualización (añadir, borrar insertar)
• Ordenación
• Búsqueda
Algorítmica y Programación
i1
repetir
escribir(‘Introduzca el elemento ‘ ,i, ‘del vector F:
’)
leer(F[i])
ii+1
hasta_que i > 20
Algorítmica y Programación
2. Lectura/escritura
2. Lectura/escritura
Generalmente se desea leer o escribir el vector
completo, para lo cual se debe hacer un
recorrido del vector:
2. Lectura/escritura
3. Asignación
4. Actualización
4. Actualización
Añadir elementos: es la operación de
agregar un nuevo elemento al final del
vector. La única condición necesaria para
esta operación consistirá en la
comprobación de espacio de memoria
suficiente para el nuevo elemento, dicho
de otra manera, que el vector no contenga
todos los elementos con que fue definido.
Algorítmica y Programación
4. Actualización
5. Métodos de ordenamiento y
búsqueda en vectores
Algorítmica y Programación
Ordenación (clasificación)
Ordenación (clasificación)
Ordenación (clasificación)
Método de intercambio o de
burbuja
Método de intercambio o de
burbuja
Los pasos a dar son:
1. Comparar A[1] y A[2], si están en orden, se mantienen
como están, en caso contrario se intercambian entre si.
2. A continuación se comparan los elementos 2 y 3, de
nuevo se intercambian si es necesario.
3. El proceso continúa hasta que cada elemento del
vector ha sido comparado con sus elementos
adyacentes y se han realizado los intercambios
necesarios.
Algorítmica y Programación
Método de intercambio o de
burbuja
La acción de intercambiar entre sí los valores de dos
elementos A[i], A[i+1] es una acción compuesta que
contiene las siguientes acciones, utilizando una variable
auxiliar:
2
A[i] A[i+1]
1 3
AUX
Algorítmica y Programación
Método de intercambio o de
burbuja
En pseudocódigo:
AUX A[i]
A[i] A[i+1]
A[i+1] AUX
Algorítmica y Programación
Método de intercambio o de
burbuja
Suponga que se quiere ordenar de forma
ascendente el vector:
Algorítmica y Programación
/*Ordenamiento Burbuja */
#include <iostream>
using namespace std;
#define TAM 9
int main() Método de
{
int a[TAM] = { 9, 8, 0, 2, 5, 1, 3, 2, 9};
int i, pasada, aux;
intercambio o
cout << "Datos en el orden inicial:"<< endl;
for(i=0;i<=TAM-1;i++) de burbuja
cout <<a[i] << endl;
for(pasada=1;pasada<=TAM-1;pasada++) /*pasadas*/
for (i=0;i<=TAM-2;i++)
if (a[i]>a[i+1]) /*comparación */
{
/*intercambio*/
aux=a[i];
a[i] = a[i+1];
a[i+1] = aux;
}
cout<< "Datos ordenados en sentido ascendente:" << endl;
for (i=0;i<=TAM-1;i++ )
cout << a[i] << endl;
return 0;
}
Algorítmica y Programación
Métodos de Búsqueda
• La recuperación de información, como ya se ha
comentado, es una de las aplicaciones más
importantes de las computadoras.
• La búsqueda se refiere a la operación de
encontrar la posición de un elemento entre un
conjunto de elementos dados: lista, tabla o
fichero.
• Existen diferentes algoritmos de búsqueda. El
algoritmo elegido depende de la forma en que
se encuentren organizados los datos.
Algorítmica y Programación
Métodos de Búsqueda
La operación de búsqueda de un elemento
N en un conjunto de elementos consiste
en:
1. Determinar si N pertenece al conjunto y,
en ese caso, indicar su posición en él.
2. Determinar si N no pertenece al
conjunto.
Algorítmica y Programación
Métodos de Búsqueda
}
cin >> a[c]; secuencial o
cout << "Numero a buscar? "<<endl;
cin >>num; lineal
for (i=0; i< TAM; i++)
if (a[i] == num)
{
temp =1;
posicion= i;
}
else temp = 0;
if (temp==1)
cout << "Valor encontrado en la posicion:" << posicion << endl;
else if (temp == 0) cout << "No existe" <<endl;
cout << "El arreglo era:" << endl;
for (i=0; i< TAM; i++)
cout << a[i] <<endl;
return 0;
}
Algorítmica y Programación
Búsqueda binaria
Presupone una ordenación previa de los
elementos del vector.
Este método se basa en la división
sucesiva del vector en dos partes, y seguir
dividiendo cada mitad hasta encontrar el
elemento buscado.
Algorítmica y Programación
Búsqueda binaria
Utiliza un método de divide y vencerás para localizar el
valor deseado.
Con este método se examina primero el elemento central
del vector, si este es el elemento buscado, entonces la
búsqueda ha terminado.
En caso contrario se determina si el elemento buscado
está en la primera o segunda mitad de la lista, y a
continuación se repite este proceso, utilizando el
elemento central de esa sublista.
Algorítmica y Programación
Búsqueda binaria
Fila 1
Fila 2 30
Fila 3
Fila 4
Fila 5 150
30
Subíndice i
para las filas
150
Subíndice j
A[5,2] para las columnas
Algorítmica y Programación
Arreglos multimensionales
Un arreglo se puede definir de tres, cuatro y hasta
n dimensiones.
Se manejan los mismos conceptos para los
subíndices que en los vectores o matrices.
Cada elemento del arreglo se puede identificar
usando la cantidad de subíndices necesarios,
por ejemplo en un arreglo de n dimensiones se
escribirá: A[I1, I2, I3, …, In]
Algorítmica y Programación
Arreglos multimensionales
Arreglos multimensionales
Curso
Facultad
Sexo