#include <vector>
#include <list>
#include <deque>
#include <forward_list>
#include <ctime>
#include <iostream>
int main(){
clock_t t;
std::vector<int> v;
std::list<int> l;
std::deque<int> d;
std::forward_list<int> f;
int n = 10000000;
t = clock();
for(int i = 0; i < n; i++){
v.push_back(i);
}
t = clock() - t;
printf ("Vector: %d clicks (%f seconds).\n",(int)t,((float)t)/CLOCKS_PER_SEC);
t = clock();
for(int i = 0; i < n; i++){
l.push_back(i);
}
t = clock() - t;
printf ("List: %d clicks (%f seconds).\n",(int)t,((float)t)/CLOCKS_PER_SEC);
t = clock();
for(int i = 0; i < n; i++){
d.push_back(i);
}
t = clock() - t;
printf ("Deque: %d clicks (%f seconds).\n",(int)t,((float)t)/CLOCKS_PER_SEC);
t = clock();
for(int i = 0; i < n; i++){
f.push_front(i);
}
t = clock() - t;
printf ("Forward List: %d clicks (%f seconds).\n",(int)t,((float)t)/CLOCKS_PER_SEC);
return 0;
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGxpc3Q+CiNpbmNsdWRlIDxkZXF1ZT4KI2luY2x1ZGUgPGZvcndhcmRfbGlzdD4KI2luY2x1ZGUgPGN0aW1lPiAKI2luY2x1ZGUgPGlvc3RyZWFtPgoKCmludCBtYWluKCl7CgpjbG9ja190IHQ7CnN0ZDo6dmVjdG9yPGludD4gdjsKc3RkOjpsaXN0PGludD4gbDsKc3RkOjpkZXF1ZTxpbnQ+IGQ7CnN0ZDo6Zm9yd2FyZF9saXN0PGludD4gZjsKCmludCBuID0gMTAwMDAwMDA7Cgp0ID0gY2xvY2soKTsKZm9yKGludCBpID0gMDsgaSA8IG47IGkrKyl7CiAgICB2LnB1c2hfYmFjayhpKTsgICAgCn0KdCA9IGNsb2NrKCkgLSB0OwpwcmludGYgKCJWZWN0b3I6ICVkIGNsaWNrcyAoJWYgc2Vjb25kcykuXG4iLChpbnQpdCwoKGZsb2F0KXQpL0NMT0NLU19QRVJfU0VDKTsKCnQgPSBjbG9jaygpOwpmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKXsKICAgIGwucHVzaF9iYWNrKGkpOyAgICAKfQp0ID0gY2xvY2soKSAtIHQ7CnByaW50ZiAoIkxpc3Q6ICVkIGNsaWNrcyAoJWYgc2Vjb25kcykuXG4iLChpbnQpdCwoKGZsb2F0KXQpL0NMT0NLU19QRVJfU0VDKTsKCnQgPSBjbG9jaygpOwpmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKXsKICAgIGQucHVzaF9iYWNrKGkpOyAgICAKfQp0ID0gY2xvY2soKSAtIHQ7CnByaW50ZiAoIkRlcXVlOiAlZCBjbGlja3MgKCVmIHNlY29uZHMpLlxuIiwoaW50KXQsKChmbG9hdCl0KS9DTE9DS1NfUEVSX1NFQyk7Cgp0ID0gY2xvY2soKTsKZm9yKGludCBpID0gMDsgaSA8IG47IGkrKyl7CiAgICBmLnB1c2hfZnJvbnQoaSk7ICAgIAp9CnQgPSBjbG9jaygpIC0gdDsKcHJpbnRmICgiRm9yd2FyZCBMaXN0OiAlZCBjbGlja3MgKCVmIHNlY29uZHMpLlxuIiwoaW50KXQsKChmbG9hdCl0KS9DTE9DS1NfUEVSX1NFQyk7CgoKCnJldHVybiAwOwp9