Tryying to coun the numeber of comparicion but dont know how to count them
include <iostream>
#include <time.h>
#include <stdio.h>
#include <conio.h>
using namespace std;
//funcion para dividir el array y hacer los intercambios
int dividir (int *array, int inicio, int fin){
int comp=0;
int izq;
int der;
int pibote;
int temp;
pibote = array[inicio];
izq = inicio;
der = fin;
//Mientras no se cruzen los índices
while (izq < der){
comp++;
while (array[der] > pibote){
der--;
}
while ((izq < der) && (array[izq] <= pibote)){
izq++;
}
// Si todavia no se cruzan los indices seguimos intercambiando
if(izq < der){
temp= array[izq];
array[izq] = array[der];
array[der] = temp;
}
}
//Los indices ya se han cruzado, ponemos el pivote en el lugar que le corresponde
temp = array[der];
array[der] = array[inicio];
array[inicio] = temp;
//La nueva posición del pivote
return der;
}
//funcion recursiva para hacer el ordenamiento
void quicksort( int *array, int inicio, int fin)
{
int pivote;
if(inicio < fin){
pivote = dividir(array, inicio, fin );
quicksort( array, inicio, pivote - 1 );//ordeno la lista de los menores
quicksort( array, pivote + 1, fin );//ordeno la lista de los mayores
}
}
int main()
{
int tamanyo,c;
int a[]={1,2,3,4};
int comp;
cout << "Ingresa tamanyo " << endl;
cin >> tamanyo;
cout << "Array antes de ordenarse: " << endl;
for (int i=0; i < tamanyo; i++){
cout << a[i] << " ";
}
cout << endl << endl;
quicksort(a, 0, tamanyo - 1 );
printf("Numero de comparaciones %d\n", comp);
cout << "Array ordenado " << endl;
for (int i=0; i < tamanyo; i++ ){
cout << a[i] << "-";
}
cout << endl << endl;
c=getch();
return 0;
}