Salut à tous

j'ai un problème de calculer le temps d’exécution d'un algorithme de trier un tableau par la méthode de trier rapide

Voici le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 
 
#include <time.h>
 
 int partitionner(int *tableau, int p, int r) {
 
    int pivot = tableau[p], i = p-1, j = r+1;  int temp;
 
    while (1) {
        do
            j--;
        while (tableau[j] > pivot);
        do
            i++;
        while (tableau[i] < pivot);
        if (i < j) {
            temp = tableau[i];
            tableau[i] = tableau[j];
            tableau[j] = temp;
        }
        else
            return j;
 
 
             }
                   }
 
void quickSort (int *tableau, int p, int r) {
    int q;
    if (p < r) {
        q = partitionner(tableau, p, r);
        quickSort(tableau, p, q);
        quickSort(tableau, q+1, r);
    }
}
 
 
 
 
 
main(){  int i,n;       int tmp,j,c;    float temps;
 
 
 
    clock_t t1, t2;
 
       tableau =(int*)malloc((n)*sizeof(int));
 
 
      printf("introduire  la taille de tableau   =\n\n");
      scanf("%d",&n);
 
  for(i=1;i<=n;i++)
 
              {          printf("tableau[%d]=",i);
                         scanf("%d",&tableau[i]);
              }
 
                                          t1 = clock();
 
 
                          quickSort(tableau, 1,n) ;
 
            t2 = clock();
 
 
    temps = (float)(t2-t1)/CLOCKS_PER_SEC;
 
    printf("temps d'execution = %f\n", temps);
 
     printf("\n La complexité d'algorithme de trier rapide est %f",n*log (n));
 
 
      }

je vais calculer seulement le procédure de trier pas les saisies de tableau

( le procédure de trier récursif)
merci