Tutoriales de c

Introducción

Existen dos tipos de ordenación los directos y los logarítmicos. Cuando N (numero de elementos) es pequeño deben utilizarse métodos directos y cuando N es medio o grande deben emplear métodos logarítmicos.

El método de intercambio directo, conocido con el nombre de la burbuja, es el mas utilizado ente los estudiantes principiantes de computación, por su fácil comprensión y programación. Pero hay que señalar que es probablemente el método más ineficiente.

La idea básica de este algoritmo consiste en comparar pares de elementos adyacentes e intercambiarlos entre si hasta que todos se encuentren ordenados. Se realizan (n-1) pasadas, transportando en cada una de las mismas el numero a mayor elemento (según sea el caso) su posición ideal.

Aquí esta programa que ordena un vector de N elementos utilizando el buble sort. Al final puedes descargar un ejemplo funcionando.



#include<stdio.h>
#include<conio.h>

void main(void){
int au,i,n,a,vec[100];
clrscr();
      printf("Numeros a ordenar: ");
      scanf("%d",&n);
      for(i=1;i<=n;i++){
        printf("No %d ",i);
        scanf("%d",&vec[i]);
      }
      clrscr();
      for(i=1;i<=n;i++)
        printf("%d ",vec[i]);
        printf("

");
      for(i=2;i<=n;i++)  //algoritmo del buble sort
        for(a=n;a>=i;a--)
          if(vec[a-1] > vec[a]){
            au=vec[a];
            vec[a]=vec[a-1];
            vec[a-1]=au;
          }
      for(i=1;i<=n;i++)  //muetro vector ordenado
        printf("%d ",vec[i]);
getch();
}


Autor: Gamaliel M. DescargarDescargar

Comentarios en "Ordena un vector con buble sort en C"

Table 'programa_programas.t_comentarios' doesn't exist