Makefile

 run:
        g++ snippet1.cpp -o snip && ./snip

snippet1.cpp

#include<iostream>
#include<stack>
#include<queue>
#include<map>
#include<unordered_map>
#include<algorithm>
//deque on double ended queue, kasvaa ilman reallokaatiota
// vector ja array on yhtenäinen muisti, voi osoittaa pointer-aritmetiikalla
// arrayn koko on fixed
// vector tekee ajoittain reallokaation


using namespace std;

int main()
{
 cout << "1..pino stack\n";
 stack pino;
 pino.push(101); pino.push(102);
 cout << pino.top() << endl;
 pino.pop();
 cout << pino.top() << endl; pino.pop();

cout << "2..jono queue\n";
 queue jono;
 jono.push(1.23);
 jono.push(2.34);
 jono.push(3.45);
 cout << jono.front() << endl; jono.pop();
 cout << jono.front() << endl; jono.pop();
 cout << jono.front() << endl; jono.pop();

cout << "3..binääripuu map\n";
 map btree;
 btree[1] = "A"; btree[3] = "C";
 cout << "eka kirjain on " << btree[1] << endl;
 cout << "binääripuun koko on " << btree.size() << endl;

 cout << "4..hashi unordered_map\n";
 unordered_map umap;
 umap[2] = 577.0/408;
 cout << "sqrt(2) = " << umap[2] << endl;

 cout << "5..vector\n";
 vector lottonumerot = {21,6,12,9,1,30,32};
 for (int nume : lottonumerot) cout << nume << ",";
 cout << endl;
 sort(lottonumerot.begin(),lottonumerot.end());
 for (int nume : lottonumerot) cout << nume << ",";
 cout << endl;

return 0;
}