#include "libr.h" //incluye la cabecera int partition (int A[], int p, int r); void quicksort(int A[], int p, int r); void heapify(int A[],int i,int last); void buildheap(int A[],int last); void heapsort(int A[],int last); void radixsort(int A[],int last); /****ESTRUCTURA PRINCIPAL*****/ int main(void) { int i,j,k,l,d,b; int A[10000],B[10000],C[10000]; long tquick,theap,tradix,sumquick,sumheap,sumradix,sumquick2,sumheap2,sumradix2; long promedioquick,promedioheap,promedioradix; long x2promedioquick,x2promedioheap,x2promedioradix; long DesvEst_quick,DesvEst_heap,DesvEst_radix; time_t t; /*definición de estructuras para uso de getttimeofday*/ struct timeval a1,b1; struct timeval a2,b2; struct timeval a3,b3; FILE *fp1,*fp2,*fp3,*fp4; fp1= fopen ("Promedios","w"); /*se abren archivos para escritura*/ fp2= fopen ("Desviaciones","w"); fp3= fopen ("ploter","w"); fp4= fopen ("ploter2","w"); d=Nmax/N; if(d<=1) b=1; else b=(int)d; /* La variable b corresponde al tamaño del paso entre puntos consecutivos de la gráfica,aproxima por el enterosuperior*/ for(k=b;k<=Nmax;k=k+b){ //ciclo for que controla la variación del largo del arreglo sumquick=sumheap=sumradix=sumquick2=sumheap2=sumradix2=0; for(i=0; i