- •3.Тіл құрамы, тіл алфавиті, түсініктемелері
- •4.Идентификаторлар.Түйінді сөздер.Тұрақтылар
- •5.Функцияларды хабарлау, анықтау. Функцияның параметрлері. Рекурсивті функция
- •6.Негізігі мәліметтер типтері.Унарлы, бинарлы, тернарлы операциялар
- •7.Программа құрылымы, Айнымалылар мен
- •8.If, switch Тармақталу операторлары.Шартты оператордың құрылымдық сұлбасы
- •9.For, do while, while циклдік операторлары
- •10. Goto, Break, continue, return басқаруды беру операторлары
- •11.Нұсқауыштар мен жиымдар.Екі өлшемді жиымдар
- •12.Қатарлар. Қатарларға қолданылатын функциялар
- •15 .Borland Builder 6.0 прграммалау ортасының бас терезесінің құрылымы
- •19.Конструкторлар.Қатарларды түрлендіру, қатардың құрамын іздеу
- •20.Деструкторлар және оның қасиеттері
- •21. Класстың достық функциялары, шаблондары
- •22.Мұрагерлік.Жай және көптік мұрагерлік
- •23.Абстрактілі класс, виртуалды функция
- •24.Ағымдар, стандартты файлдық және қатарлық ағымдар
- •25.Манипуляторлар.Жай және параметрлі манипуляторлар
- •26. Stl (Standard Template Library) кітапханасының құрылымы, итераторлар
- •27.Тізбекті контейнерлер, векторлар, кезектер
- •28.Екі жақты кезектер, стектер, тізімдер
- •29.Ассоциативті контейнерлер. Сөздіктер, жиындар
- •30.Алгоритмдер, функционалды объектілер, адаптерлер
28.Екі жақты кезектер, стектер, тізімдер
STL контейнерлері тізбекті және ассоциативті деп бөлінеді. Тізбекті контейнерлер үздіксіз тізбек түріндегі бір типті объектілердің соңғы санын анықтауды қамтамасыз етеді және келесі түрлері бар: векторлар (vector); кезектер (queue ); екі жақты кезек\р(deque);тізім\р(list);стек\р(stack); приоритеттері бар кезектер (priority-queue).Тізбекті контейнер\р: вектор\р, екі жақты кезек, тізім\р.
deque – итераторды ұстайтын векторге тән кезек түрі. Соныман қатар ол тұрақты уақытта басына немесе соңына қою және өшіру операциясын да қолдайды; ал ортасынан қою және өшіруді сызықты уақыт кезінде. Вектордағы секілді жадыны басқару автоматты түржде орындалады.
// қою / өшіру:
void push_front(const T& x);
void push_back(const T& x);
iterator insert(iterator position, const T& x = T());
void insert(iterator position, size_type n, const T& x);
template <class InputIterator>
void insert(iterator position, InputIterator first, InputIterator last);
void pop_front();
void pop_back();
void erase(iterator position);
void erase(iterator first, iterator last);};
template <class T, class Allocator>
bool operator==(const deque<T, Allocator>& x, const deque<T, Allocator>& y);
template <class T, class Allocator>
bool operator<(const deque<T, Allocator>& x, const deque<T, Allocator>& y);
Стек («stack») – тек бір элементпен жұмыс істейтін мәліметтер қоймасы. Жеке жағдайда, vector, list и deque. Стек («stack») қолдайтын операциялар
back –соңғы элементке ену
push_back – стектің соңына қосу
pop_back – соңғы элементті алу
list –2 жақты итераторды ұстайтынжәне кезектің кез келген жерінде тұрақты уақытта қою және өшіру операциясына мүмкінідк беретін кезек түрі. Жадысен жұмыс істеу автоматты түрде орындалады.
// қою/өшіру:
void push_front(const T& x);
void push_back(const T& x);
iterator insert(iterator position, const T& x = T());
void insert(iterator position, size_type n, const T& x);
template <class InputIterator>
void insert(iterator position, InputIterator first, InputIterator last);
void pop_front();
void pop_back();
void erase(iterator position);
void erase(iterator first, iterator last);
29.Ассоциативті контейнерлер. Сөздіктер, жиындар
Ассоциативті контейнерлер жылдам енуді қамтамасыз етеді, олар іздеу бұтағы негізінде тұрғызылады.Ассоциативті контейнердің бес типі бар: сөздіктер (map), көшірме сөздіктер (multimap), жиын (set), көшірме жиын (multiset), биттік жиындар (bitset). Сөздік қос мән негізінде тұрғызылған, алғашқысы – элементтер идентификаторына арналған түйін, екіншісі- элементтің өзі.
Мысалы: ағылшын-орыс сөздігінде түйін- ағылшын сөзі, ал элемент –орыс сөзі.
Ассоциативті контейнерлер <map>, <set>тақырыптық файлдарда сипатталады.
pair шаблонының екі параметрі бар, бірінші -first, екінші –second.
Екі конструктор анықтылған: бірі элементтерді инициализациялау үшін, ал екіншісі көшіру конструкторы.Үндеместік бойынша конструкторы жоқ, яғни объектіні құру кезінде мәнге меншіктеу керек.
Сөздіктер (map) барлық түйіндер ерекше болуы керек. Сөздіктегі элементер сұрыпталған түрде сақталынады, сондықтан түйіндер “кіші” қатынасымен анықталады. Сөздік шаблоны үш параметрден тұрады: түйін типі, элементтипі, функционалды объектнің типі (“кіші” қатынасымен анықтаушы):
Түйін бойынша элементке ену үшін [] операциясы анықталған:
T&operator [] (const Key&x);
Бұл операцияның көмегімен элементтер мәндерін ғана алып қоймай, сонымен қатар сөздікке жаңасын да қосуға болады
Сөздіктегі элементтерді іздеу үшін төмендегі функциялар анықталған:
iterator find (const key_type&x);
const_iterator find (const key_type&x) const;
const_iterator lower(const key_type&x) const;
const_iterator upper (const key_type&x) const;
size_type count (const key_type&x) const);
Элементтерді қосу және жою үшін мына функциялар анықталған:
pair <iterator, bool> insert (const value_type&x);
iterator insert (iterator position, const value_type&x);
template < class InputIter>
void insert
void erase
void clear ();
