Red de conocimiento informático - Conocimiento sistemático - Encuentre el programa completo de ordenación por inserción directa en lenguaje C

Encuentre el programa completo de ordenación por inserción directa en lenguaje C

#include lt;stdio.hgt;

#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--){

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){

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.