ARCHIVO: main.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "Estructura.h"
/////////////////////////////////////////////
void insertSort(Numero registros[],int n){
int i,j;
for(i=1;i0 && registros[j].id<registros[j-1].id){
intercambia(&(registros[j]),&(registros[j-1]));
j--;
}
}
printf("Terminado.\n");
}
///////////////////////////////////////////////////
void genera(Numero numeros[],int n){
int i,j;
for(i=0,j=n;i<n;i++,j--){ //GENERA DE MAYOR A MENOR
numeros[i].id=j;
}
}
/////////////////////////////////////////////////////
int main()
{
int n;
printf("BUBBLE SORT...\n");
printf("Numero de registros a ordenar:");
scanf("%d",&n);
Numero numeros[n];
genera(numeros,n);
printf("1)Registros a ordenar...\n");
listar(numeros,n);
insertSort(numeros,n);
printf("2)Registros ordenados...\n");
listar(numeros,n);
return 0;
}
ARCHIVO: Estructura.h
#ifndef ESTRUCTURA_H_INCLUDED
#define ESTRUCTURA_H_INCLUDED
typedef struct{
int id;
}Numero;
void intercambia(Numero* x, Numero* y);
void listar(Numero registros[],int n);
void ordenar(Numero registros[],int n);
void intercambia(Numero* x, Numero* y){
Numero temp;
temp=*x;
*x=*y;
*y=temp;
}
void listar(Numero registros[],int n){
int i;
for(i=0;i<n;i++){
printf("\t%d\n",registros[i]);
}
}
#endif