PDA

Visualizza la versione completa : [C++] Efficenza e velocità ordinamenti C/C++


Cesaropa12
28-11-2006, 17:25
E' più veloce usare il sort del c++ o il qsort del c?
Chiedo questo perchè avevo letto tempo fa che era più veloce leggere da file tramite le istruzioni del c rispetto a quelle del c++.
Un altra domanda sola: come si fa a cronometrare il tempo con le librerie del c++(lo so fare con .net ma non con la libreria c++)?

oregon
28-11-2006, 17:48
Quale sarebbe il sort del c++?

Cesaropa12
28-11-2006, 21:31
Intendo la funzione sort che è accessibile in questo modo:
#include "algorithm"

...
vector v;
...
sort(v.begin(),v.end());

MItaly
28-11-2006, 21:36
Se non sbaglio usano entrambi lo stesso algoritmo... poi il sort del C++, lavorando su oggetti e non semplicemente sulla memoria risulterà leggermente più lento.

oregon
28-11-2006, 21:38
Ah ... sì ... il sort delle librerie STL ... sicuramente e' piu' efficiente questo sort ...

Cesaropa12
29-11-2006, 09:16
Come si puo' cronometrare il tempo di esecuzione di un pezzo di codice con le librerie stl?

MItaly
29-11-2006, 14:41
Usando le funzioni dell'header ctime.

Cesaropa12
29-11-2006, 15:35
Un esempio? Mi serve sapere la differenza fra due tempi.

Lak3d
29-11-2006, 16:30
Originariamente inviato da Cesaropa12
Intendo la funzione sort che è accessibile in questo modo:
#include "algorithm"


che roba è? funzioni già pronte per gli ordinamenti?

MItaly
29-11-2006, 17:06
@cesaropa12


#include "ctime"
//...
time_t startTime;
time(*startTime);
//blocco di codice da cronometrare
cout<<time(NULL)-startTime; //Visualizza i secondi trascorsi

@Lak3d
Sì, ma si tratta di un oggetto algoritmo utilizzabile solo con i container STL; per ordinamenti su array standard puoi usare la funzione qsort (già citata in questa sede).

Loading