Tutoriales de c

Introducción

Este método también es directo, es parecido al buble sort.

En este tipo de algoritmo los elementos que van a ser ordenados son considerados uno a la vez. Cada elemento es INSERTADO en la posición apropiada con respecto al resto de los elementos ya ordenados.

El método toma cada elemento del arreglo y lo compara con los que se encuentran en posiciones anteriores a la de él. Si el elemento comparado es mayor que el elemento a ordenar, se recorre hacia la siguiente posición superior. Si es menor, entonces el elemento ya esta ordenado.

Veamos un ejemplo utilizando este método para ordenar un vector. Puedes descargar el ejemplo funcionando al final.



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

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

");
	for(i=1;i<n;i++){  //algoritmo de insertion
	  te=vec[i];
	  a=i-1;
	  while(vec[a]>te && a>=0){
	    vec[a+1]=vec[a];
	    a--;
	    vec[a+1]=te;
	  }
	}
	for(i=0;i<n;i++)
	  printf("%d ",vec[i]);
getch();
}


Autor: Gamaliel M. DescargarDescargar

Comentarios en "Método de ordenación Insertion Sort en C"

Table 'programa_programas.t_comentarios' doesn't exist