C++
C++
C++
Arreglos
Estructuras de datos
Ejemplos:
i1
repetir
escribir(‘Introduzca el elemento ‘ ,i, ‘del vector F:
’)
leer(F[i])
ii+1
hasta_que i > 20
2. Lectura/escritura
1 3
AUX
Método de intercambio o de
burbuja
En pseudocódigo:
AUX A[i]
A[i] A[i+1]
A[i+1] AUX
Método de intercambio o de
burbuja
Suponga que se quiere ordenar de forma
ascendente el vector:
/*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;
}
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.
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.
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;
}
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.
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.
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
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]
Arreglos multimensionales
Curso
Facultad
Sexo