Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
v_vide_shpor.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
276.8 Кб
Скачать

30. Stl (Standard Template Library) кітапханасының құрылымы

Кітапхана бес негізгі компоненттерден тұрады:

  • контейнер (container): жадыдағы объектілер жиынтығын басқарады.

  • итератор (iterator): контейнерлерге енуді қамтамасыз етеді.

  • алгоритм (algorithm): есептеу процедурасын анықтайды.

  • функционалды объект (function object): басқа компоненттер қолдану үшін объектідегі функцияларды инкапсуляция жасайды.

  • адаптер (adaptor): әр түрлі интерфейспен қамтамасыз ету үшін компонентті бейімдейді.

Функцияны шақыру операциясы анықталған класс функционалды объект деп аталады.

STL контейнерлері тізбекті және ассоциативті деп бөлінеді. Тізбекті контейнерлер үздіксіз тізбек түріндегі бір типті объектілердің соңғы санын анықтауды қамтамасыз етеді және келесі түрлері бар: векторлар (vector); кезектер (queue ); екі жақты кезектер (deque); тізімдер (list); стектер (stack); приоритеттері бар кезектер (priority-queue).

Тізбекті контейнерлер: векторлар, екі жақты кезек, тізімдер.

Операция

Әдіс

vector

deque

list

Басына қою

push_front

-

+

+

Басынан бастап жою

pop_front

-

+

+

Соңына қою

push_back

+

+

+

Соңынан бастап жою

pop_back

+

+

+

Кез-келген орынға қою

insert

+

+

+

Кез-келген орыннан жою

erase

+

+

+

Элементке еркін ену

[ ].at

+

+

-

Итератор элементке нұсқауыштың аналогы болып табылады. Ол контейнерді тура және кері бағытта қарай алады.

Әдістер

Комментарий

iterator begin(),

const_ iterator begin() const

алғашқы элементке нұсқайды

iterator end(),

const_ iterator end() const

соңғы элементтен кейін тұрған элементке нұсқайды

reserve_iterator rbegin(),

const_ reserve_iterator rbegin() const

кері ретпен алғашқы элементке нұсқайды

reserve_iterator rend(),

const_ reserve_iterator rend() const

Кері ретпен соңғы элементтен кейін тұрған элементке нұсқайды

Кезек («queue»)

Кезек («queue») – элементтерін орналастырғанда тізімнің соңына, ал алғанда басынан алатын мәліметтер құрылымы.

Кезек қолдайтын операциялар:

  • frontалғашқы элементке ену

  • push_back – кезек соңына қосу

  • pop_front – алғашқы элементті жою

  • pop_back-соңғы элементті жою

Мысал:

#include <iostream>

#include <queue>

using namespace std;

int main() {

queue <char> q;

q.push('a'); // кезекке элемент қосамыз

q.push('b'); // …

q.push('c'); // …

cout << q.front(); // алғашқы элементті шығару

q.pop(); //жою

cout << q.front(); // …

q.pop(); // …

cout << q.front(); // …

q.pop(); // …

Нәтижесі:«abc»

Стек («stack»)

Стекstack») – тек бір элементпен жұмыс істейтін мәліметтер қоймасы.

Жеке жағдайда, vector, list и deque.

Стек («stack») қолдайтын операциялар

  • back –соңғы элементке ену

  • push_back – стектің соңына қосу

  • pop_back – соңғы элементті алу

Функционалды объектілер жиыны <functional> басты файлында сипатталады.

plus шаблоны:

temlpate<class T>

struct plus:binary_function<T,T,T>

{T operator()(const T&x, const T&y) const{return x+y;} }

Арифметикалық функционалды объектілер:

аты

типі

Нәтиже

plus

бинарлы

x+y

minus

бинарлы

x-y

multiplies

бинарлы

x*y

divides

бинарлы

x/y

modulus

бинарлы

x%y

negate

унарлы

-x

Абстрактілі класс. Виртуалды функциялар. 23

Ағымдар. Стандартты, файлдық және қатарлық ағымдар. 24

Ағымдық енгізу-шығару және оларды пайдалану. С++ тілінің ерекшеліктері. 2

Алгоритмдер. Адаптерлер. Функционалды объектілер. 30

Ассоциативті контейнерлер. Сөздіктер. Жиындар. 29

Деструкторлар және оның қасиеттері. 20

Екі жақты кезектер, тізімдер, стектер. 28

Идентификаторлар. Түйінді сөздер. Тұрақтылар. 4

Класстың достық функциялары. Класстың шаблондары. 21

Конструкторлар және қатарларды меншіктеу. Қатардың бөлігін қосу және меншіктеу функциялары. 18

Конструктор және оның қасиеттері. Көшіру конструкторлары. 17

Конструкторлар. Қатарларды түрлендіру. Қатардың құрамын іздеу. 19

Қатарлар. Қатарларға қолданылатын функциялар. 12

Манипуляторлар. Жай және параметрлі манипуляторлар. 25

Мұрагерлік. Жай және көптік мұрагерлік. 22

Негізгі мәліметтер типтері. Унарлы, бинарлы, тернарлы операциялар. 6

Нұсқауыштар мен жиымдар. Екі өлшемді жиымдар. 11

Объектіге бағытталған программалаудың негізі. Базалық кластың хабарлануы, анықталуы. 16

Программа құрылымы. Айнымалылар және өрнектер. 7

С++ тілінің базалық жабдықтары. Препроцессор директивалары. 1

Тізбекті контейнерлер. Векторлар, кезектер. 27

Тіл құрамы. Тіл алфавиті. Түсініктемелер. 3

Функцияларды хабарлау және анықтау. Функцияның параметрлері.Рекурсивті функциялар. 5

Borland Builder С++ 6.0 программалау ортасының бас терезесінің құрылымы. 15

if, switch тармақталу операторлары. Шартты оператордың құрылымдық сұлбасы. 8

for, do while, while циклдік операторлары. 9

goto, break, continue, return басқаруды беру операторлары 10

STL (Standard Template Library) кітапханасының құрылымы. Итераторлар. 26

struct, union қолданушы анықтайтын мәліметтер типтері. 14

typedef, enum қолданушы анықтайтын мәліметтер типтері. 13

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]