Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmos y Estructuras de Datos
Algoritmos y Estructuras de Datos
1. Arreglos
2. Algoritmo de ordenamiento Burbuja
3. Busqueda secuencial
4. Busqueda binaria
5. Estructuras de datos
Arreglos
El primer elemento se almacena en la posición 0 del arreglo, es decir el primer elemento del
arreglo se conoce como a[0], el segundo como a[1], el séptimo como a[6] y en general el
elemento de orden i del arreglo a se conoce como a[i-1].
El número de posición que aparece dentro de los corchetes se conoce como índice y debe
ser un número entero o una expresión entera, por ejemplo:
x=a[7]/2;
x=a[4]=12;
int a[12];
float f[10];
Ejemplo:
#include <stdio.h>
#include <conio.h>
#define MAX 12
void main(){
b[j] = a[i];
j++;
}
else {
c[k] = a[i];
k++;
}
getch();
}
Arriba
Este algoritmo compara elementos consecutivos del arreglo uno con respecto del otro, si es
mayor o menor según el tipo de ordenamiento y los cambia de posición. Este proceso se
repite recorriendo todo el arreglo para posicionar un solo dato, por lo que es necesario
repetirlo para los demás datos del arreglo. Su implementación es la siguiente:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define TAM 10
void main(){
int a[TAM], temp, i, j;
clrscr();
temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
}
getch();
}
Arriba
Busqueda Secuencial
Este algoritmo compara uno a uno los elementos del arreglo hasta recorrerlo por completo
indicando si el número buscado existe. Su implementación es la siguiente:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define TAM 10
void main(){
int a[TAM], temp, i, j, num;
clrscr();
else
printf ("\nNo existe");
getch();
}
Arriba
Busqueda Binaria
Este algoritmo permite buscar de una manera más eficiente un dato dentro de un arreglo,
para hacer esto se determina el elemento central del arreglo y se compara con el valor que
se esta buscando, si coincide termina la busqueda y en caso de no ser asi se determina si el
dato es mayor o menor que el elemento central, de esta forma se elimina una mitad del
arreglo junto con el elemento central para repetir el proceso hasta encontrarlo o tener solo
un elemento en el arreglo. Para poder aplicar este algorimo se requiere que el arreglo este
ordenado. Su implementación es la siguiente:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define TAM 15
void main(){
temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
}
bajo = 0;
alto = TAM-1;
central = (bajo+alto)/2;
else
alto = central-1;
central=(bajo+alto)/2;
}
if (busca == a[central])
printf("\n%d encontrado en posicion %d", busca, central);
else
printf("\n%d no existe", busca);
getch();
}
Arriba
Estructuras de datos
Las estructuras se definen como conjuntos de datos de diferente tipo. Se pueden declarar de
las siguentes maneras:
struct nomina
{
char nom[80];
char puesto[40];
float sueldo;
int id;
}
struct
{
char nom[80];
char puesto[40];
float sueldo;
int id;
}
typedef struct
{
char nom[80];
char puesto[40];
float sueldo:
int id;
} nomina;
Las estructuras, como cualquier otro tipo de dato, se pueden representar en arreglos.
#include
struct
{
char nom[60];
char mat[40];
float cb, pc, cf;
flat prom;
} alumno[50];
float aux;
void main()
{
int i, n;
printf ("Cuantos alumnos? ");
scanf ("%d", &n);
flushall();
printf ("\nLectura de datos");
}