Sto calcolando il tempo di esecuzione di insertion sort..
typedef int *P;
class InsertionSort{
public:
InsertionSort(int n);//costruttore
~InsertionSort(); //distruttore
void ordinamento(int m1);
void inserisciElemento(int m);
private:
P p;
};
InsertionSort::InsertionSort(int n){
p=new int[n];
}
InsertionSort::~InsertionSort(){
delete[] p;
}
void InsertionSort::inserisciElemento(int m){
int i=0;
while(i<m){
cout<<endl;
cout<<"Inserisci l'elemento di posizione "<< i <<"\n";
cin>>p[i];
i++;
}
}
void InsertionSort:rdinamento(int m1){
clock_t start,end;
double tempo;
start=clock();
int key,i;
for(int j=1;j<m1;j++)
{
key=p[j];
i=j-1;
while(i>=0 && p[i]>key)
{
p[i+1]=p[i];
i--;
}
p[i+1]=key;
}
end=clock();
tempo=((double)(end-start))/CLOCKS_PER_SEC;
cout<<endl<<tempo<<endl;
cout<<"\nVettore ordinato : "<<endl;
for(int j=0;j<m1;j++)
cout<<p[j]<<endl;
cout<<endl;
}
quando vado ad eseguire mi dà sempre tempo 0..come mai??

rdinamento(int m1){
Rispondi quotando