#include #include #include #include #include #define TRIAL_SIZE 1000000 #define MAX_VALUE 2000000 long long t0; void markTime() { timeval tv; gettimeofday (&tv, NULL); t0 = 1000LL * tv.tv_sec + tv.tv_usec / 1000; } void reportTime(const char* msg) { timeval tv; gettimeofday (&tv, NULL); long long t = 1000LL * tv.tv_sec + tv.tv_usec / 1000; printf("%s: %lld ms\n", msg, t - t0); } int main (void) { std::set s; std::set::iterator it; srand(time(NULL)); markTime(); for (int i = 0; i < TRIAL_SIZE; i++) { s.insert(rand() % MAX_VALUE); } reportTime("inserare"); markTime(); for (int i = 0; i < TRIAL_SIZE; i++) { s.find(rand() % MAX_VALUE); } reportTime("căutare"); markTime(); for (it = s.begin(); it != s.end(); it++) { int x = *it; // printf("%d\n", x); } reportTime("iterare"); markTime(); for (int i = 0; i < TRIAL_SIZE; i++) { s.erase(rand() % MAX_VALUE); } reportTime("ștergere"); }