#include #include #include using namespace std; #define CSIZE 1000 #define ADDSIZE 40 #define REPEAT_ADD 1000 #define REPEAT_FIND 100 #define TESTINSERT(x,y) s = clock(); for(j = 0; j < REPEAT_ADD; j++) { x.clear(); for(i = 0; i < ADDSIZE; i++) x.y(c[i]);} e = clock(); printf("Time: %f\n", (float)(e-s)/(float)CLK_TCK); void main() { list a; set b; srand(clock()); int c[CSIZE], i,j; for(i = 0; i < CSIZE; i++) c[i] = rand() % 100; clock_t s, e; TESTINSERT(a,push_back); TESTINSERT(b,insert); int found; s = clock(); for(j = 0; j < REPEAT_FIND; j++) { found = 0; for(i = 0; i < CSIZE; i++) { list::iterator itr = find(a.begin(), a.end(), c[i]); if(itr != a.end()) found++; } } e = clock(); printf("Time: %f Found: %d\n", (float)(e-s)/(float)CLK_TCK, found); s = clock(); for(j = 0; j < REPEAT_FIND; j++) { found = 0; for(i = 0; i < CSIZE; i++) { set::iterator itr = b.find(c[i]); if(itr != b.end()) found++; } } e = clock(); printf("Time: %f Found: %d\n", (float)(e-s)/(float)CLK_TCK, found); getch(); }