Vissza
Labor
6, haladóknak
Rendezések
Hasonlítsuk össze a beszúrásos, a minimum
kiválasztásos és
könyvtárfüggvény qsort
segítségével rendező algoritmusok,
rendezési idejét 5 000, 10 000, 50 000
elemszámú tömbök esetében.
Megoldott feladat:
Rendezzük egy 5000 elemszámú tömb elemeit, a
könyvtárfüggvény qsort
segítségével, és határozzuk meg a
rendezéshez szükséges időt.
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define
M 5000
int comp (const
void*, const void *);
void
kiir(int *, int);
int
main(){
int *tomb, i;
clock_t st, fs;
tomb = (int*)calloc(M,
sizeof(int));
srand(time(0));
for(i = 0; i < M;
++i){
tomb[i] = rand();
//printf("%6i", tomb[i]);
}
st = clock();
qsort(tomb, M,
sizeof(int), comp);
fs = clock();
printf("\n\nSorting time: %lf\n\n",
(double)(fs-st)/CLOCKS_PER_SEC);
printf("\n\nRendezve:");
//kiir(tomb, M);
free (tomb);
}
int comp (const void* a, const void
*b){
int*x = (int*)a;
int*y = (int*)b;
return (*x)-(*y);
}
void kiir(int *t,
int n){
int i;
for(i = 0; i < n; ++i)
printf("%6i", t[i]);
printf("\n");
}