clock

Sintaxis

#include <time.h>

clock_t clock(void);

Descripción

Esta función devuelve el número de pulsos del reloj desde un momento arbitrario. Para obtener el tiempo en segundos se divide por CLOCKS_PER_SEC que es el número de pulsos por segundo.

Valor devuelto

Devuelve el número de pulsos del reloj.

Portabilidad

ANSI, POSIX

Ejemplo

En la función main se muestra el tiempo de ejecución en segundos del procedimiento ordenaLineal para un tamaño de ejemplar solicitado al usuario, el vector a ordenar se inicializa con valores aleatorios entre 0 y su tamaño.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void ordenaLineal(int vec[], int vecs[], int n, float *tiempo){
   int tiempoini=clock();
   int i, j, k;
   vecs[0]=vec[0];  
   for(i=1;i<n;i++){
      for(j=0;(j<i)&&(vecs[j]<=vec[i]);j++);
      for(k=i-1;k>=j;k--)
         vecs[k+1]=vecs[k];  
      vecs[j]=vec[i];  
   }
   *tiempo=(float)(clock()-tiempoini)/CLOCKS_PER_SEC;
}

int main(){
   int tam, i=0;
   float tiempoOrdena;
   printf("Introduzca el tamaño del vector\n");
   scanf("%d",&tam);
   int *v = (int *) malloc(sizeof(int)*tam);
   int *vs = (int *) malloc(sizeof(int)*tam);
   srand(time(0));
   for(;i<tam;i++)
      v[i]=rand()%(tam+1);
   ordenaLineal(v,vs,tam,&tiempoOrdena); 
   printf("Tiempo de ejecución en segundos de ordenaLineal es %f para un vector aleatorio de tamaño %d\n", tiempoOrdena, tam);
   free(v);
   free(vs);
   return 0;
}