Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <map>
- #include <set>
- #include <vector>
- #include <queue>
- using namespace std;
- struct cmp {
- bool operator()(const int a, const int b) {
- return a >= b;
- }
- };
- void print_ms(multiset<int> ms) {
- for (multiset<int>::iterator it = ms.begin(); it != ms.end(); it++) {
- cout << *it << " ";
- }
- cout << "*";
- cout << endl;
- }
- int main() {
- //--------1-------
- //begin() - constant O(1)
- //set<int>::iterator ... ++ - O(logn), где n - высотадерева (случай когда переход из левого поддерева корня в правый)
- //--------2--------
- map<int, int> mp = map<int, int>();
- int keyAdd = 2;
- int val = 3;
- map<int, int>::iterator itKey = mp.find(keyAdd);
- if (itKey == mp.end())
- cout << "it is here" << endl;
- else
- cout << "there is no such key" << endl;
- mp.insert(make_pair(keyAdd, val));
- // mp.insert(itKey, val);
- cout << mp[keyAdd] << endl;
- //--------3-----------
- set<int, cmp> st = set<int, cmp>();
- st.insert(4);
- st.insert(5);
- cout << *st.begin() << endl;
- //--------4---------
- //нет, константный итератор не изменяем
- //using namespace std;
- vector<int> v = vector<int>();
- for (int i = 0; i < 5; i++)
- v.push_back(i);
- for (vector<int>::iterator it = v.begin(); it != v.end(); it++)
- *it += 10;
- for (vector<int>::iterator it = v.begin(); it != v.end(); it++)
- cout << *it << " ";
- cout << endl;
- cout << "it works!" << endl;
- //---------5--------
- // for (vector<int>::const_iterator it = v.begin(), end = v.end(); it != end; it++) {
- // if (*it % 2 == 0)
- // v.push_back(++*it);//опять константный итератор ...
- // }
- //----------6---------
- cout << "task 6" << endl;
- int tmp;
- queue<int> q = queue<int>();
- multiset<int> ms = multiset<int>();
- int n = 3;
- for (int i = 0; i < n; i++) {
- cin >> tmp;
- if (tmp == 0)
- return 0;
- q.push(tmp);
- ms.insert(tmp);
- }
- //0 символ конца. Разрешили читать не из файла
- while (tmp != 0) {
- cout << "now min is: " << *ms.begin() << "\n";
- // cout << q.front() << "need to deleted" << endl;
- ms.erase(ms.find(q.front()));
- q.pop();
- cin >> tmp;
- q.push(tmp);
- ms.insert(tmp);
- // print_ms(ms);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement