Стандарттык шаблондор китепканасы (STL)
Даяр контейнерлер жана алгоритмдер — велосипедди кайра ойлоп таппоо үчүн
std::vector жана std::map сыяктуу даяр контейнерлерди жана std::sort сыяктуу алгоритмдерди колдоносуң — текшерилген, тез жана даяр.
- өсүп жаткан маанилердин тизмесин
std::vectorта сактай аласың, std::mapменен ачкыч боюнча издей аласың,sort,findжанаcountсыяктуу даяр алгоритмдерди колдоносуң,- каалаган контейнерди ыңгайлуу range-based for менен айланасың.
1. STL деген эмне?
Стандарттык шаблондор китепканасы — C++ке орнотулган даяр аспаптардын жыйнагы. Аны бекер аласың — жөн гана керектүү аталышты #include кыласың. Анда үч негизги аспап түрү бар:
- Контейнерлер — маалыматыңды сактаган объекттер (мисалы,
vectorжанаmap). - Алгоритмдер — маалымат үстүндөгү даяр операциялар (мисалы,
sort,find,count). - Итераторлор — алгоритмдерди контейнерлер менен байланыштырган «көрсөткүчтөр» (сен
.begin()жана.end()көрөсүң).
2. std::vector — өсүп жаткан тизме
C++теги жөнөкөй массивдин өлчөмү туруктуу. std::vector — программа иштеп жатканда өсүп жана кичирейип тура турган акылдуу массив. Элементтерди push_back менен кошосуң, санын size() менен билесиң, каалаган элементти чарчы кашаа [i] менен окуйсуң (номерлөө 0дөн башталат).
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> scores; // an empty, resizable list of ints
scores.push_back(90); // add items to the end
scores.push_back(75);
scores.push_back(88);
cout << "We have " << scores.size() << " scores\n";
cout << "First score: " << scores[0] << "\n";
return 0;
}
Натыйжа:
We have 3 scores
First score: 90
Байкачы: биз вектордун өлчөмүн эч жерде айткан жокбуз — элемент кошкон сайын ал өзү өстү.