Encuentre el programa completo de ordenación por inserción directa en lenguaje C
#include lt;stdlib.hgt;
void insert(int *arr, int a, int n){ /*0 a n- 1 Ordenar*
int i;
int clave = a;
for(i=0; ilt; n; i ){
if(key lt; arr[i]){
int j;
for(j=n-1; jgt;=i; j--){ p>
arr[j 1] = arr[j];
}
arr[i] = clave
retorno; >
}
}
arr[n] = clave
retorno
}
void sort(int *arr, int size){
if(sizelt; 2)
return;
int i;
for(i=1; ilt; tamaño; i){
insert(arr, arr[i], i);
}
void main () {
int i, n, *arr;
printf("Ingrese el tamaño de la matriz n = ");
scanf(" d", amp; n);
arr = (int*)malloc(sizeof(int)*n);
printf("Ingrese d elementos de la matriz:\n" , n);
for(i=0; ilt; n; i){
scanf("d", amp; arr[i]);
}
printf("Antes de ordenar, la matriz es: "
for(i=0; ilt.n; i ){
printf("d ", arr[i]);
}
printf("\n llamando a la función de clasificación en...\n");
sort(arr, n);
printf("Después de ordenar, la matriz se convierte en:
for(i=0; ilt; n; i){); p>
printf("d ", arr[i]);
}
printf("\ n"); );
}
====
Recién escrito y compilado en VC2010, convierte matrices estáticas en matrices dinámicas de manera más flexible.