Está en la página 1de 6

ALGORITMO DE LA

BURBUJA
ALGORITMO DE LA BURBUJA

El algoritmo de ordenamiento de burbuja es uno de los algoritmos de


ordenamiento más sencillos aunque no es el más eficiente. Su simplicidad lo
convierte en un algoritmo ideal para practicar programación.

Estabilidad: Estable

Método: Intercambio

Comparativo: Si

Uso de memoria: 1

Complejidad computacional:

Mejor caso:

Caso promedio:

Peor caso:

Algoritmo de ordenamiento de burbuja


Comenzamos con una lista de elementos no ordenados

Tomamos los primeros dos números y si no están ordenados se intercambian los


lugares
Se repite el proceso con los siguientes dos números

El proceso continua hasta llegar al final

El último número ya queda ordenado por lo que en la siguiente iteración ya no se


evalúa acortando el proceso
En la tercera iteración no se evalúan los últimos dos valores

La cuarta iteración se finaliza sin que se haya realizado un intercambio por lo que
el algoritmo termina
Al finalizar el algoritmo tenemos como resultado la lista ordenado

Código en C
#include<stdio.h>
2
3 #define SIZE 5
4
5
6 void mostrarLista(int *);
7
8 int main(int argc, char** argv){
9
10 int lista[SIZE]={5,2,4,1,3};
11 int n, l=SIZE,i,temp;
12
13 mostrarLista(lista);
14
15
16 do{
17 n=0;
18 //Recorrer la lista
19 for(i=1;i<l;i++){
20 //Verificar si los dos valores estan ordenados
21 if(*(lista+i-1)>*(lista+i)){
22 //Ordenar si es necesario
23 temp=*(lista+i-1);
24 *(lista+i-1)=*(lista+i);
25 *(lista+i)=temp;
26 n=i;
27 mostrarLista(lista);
28 }
29 }
30 l=n;
31 } while(n!=0);
32
33 }
34
35 //Función para mostrar estado de la lista
36
37 void mostrarLista(int *a){
38 int i;
39 for(i=0;i<SIZE;i++) printf("\t[%d]", *(a+i));
40 printf("\n");
41 }

También podría gustarte