STL стандарттык китепканасы
STL: sort иреттөөсү, түгөйлөр, set жана map — сааттарды үнөмдөгөн куралдар.
STL (шаблондордун стандарттык китепканасы) — олимпиадаларда C++ тилинин башкы артыкчылыгы. Даяр маалымат структуралары жана алгоритмдер типтүү маселелердин жарымын жаап турат.
Эң көп колдонулганы — иреттөө: algorithm китепканасындагы std::sort векторду O(n log n) убакытта иреттейт. Бир сап менен.
C++
Иреттөө. Киргизиңиз: 5, андан кийин 3 1 4 1 5
for (int x : a) циклине көңүл буруңуз — бул «range-for», бардык элементтерди кыдыруунун кыска жолу.
Дагы эки алмаштыргыс контейнер:
• std::set — элементтерди кайталоосуз жана иреттелген тартипте сактайт; «элемент барбы» текшерүүсү O(log n) убакытта иштейт;
• std::map — «ачкыч → маани» сөздүгү; ар бир сөз же сан канча жолу кездешкенин эсептөө үчүн идеалдуу.
C++
map аркылуу кайталанууларды эсептөө. Киргизиңиз: 6, андан кийин 1 2 2 3 3 3
Тапшырма: n санды окуп, алардын ичинен канчасы ар түрдүү экенин чыгарыңыз (кеңеш: баарын set ичине салып, анын өлчөмүн чыгарыңыз).
Сабакты өттүм деп белгилеңиз — курстун акыркы кадамы калды: олимпиадалык шаблон.