- •4. Идентификаторлар. Түйінді сөздер. Тұрақтылар.
- •5. Функцияларды хабарлау және анықтау. Функцияның параметрлері. Рекурсивті функциялар.
- •6. Негізгі мәліметтер типтері. Унарлы, бинарлы, тернарлы операциялар.
- •7.Программа құрылымы. Айнымалылар және өрнектер.
- •8. If, switch тармақталу операторлары. Шартты оператордың құрылымдық сұлбасы.
- •9.For, do while, while циклдік операторлары.
- •10. Goto, Break, continue, return басқаруды беру операторлары
- •11.Нұсқауыштар мен жиымдар. Екі өлшемді жиымдар.
- •Int ivar,*iptr;
- •12. Қатарлар. Қатарларға қолданылатын функциялар
- •13. Typedef, enum қолданушы анықтайтын мәліметтер типтері.
- •14. Struct, union қолданушы анықтайтын мәліметтер типтері.
- •16. Объектіге бағытталған программалаудың негізі. Базалық кластың хабарлануы, анықталуы.
- •17. Конструктор және оның қасиеттері. Көшіру конструкторлары.
- •18. Конструкторлар және қатарларды меншіктеу. Қатардың бөлігін қосу және меншіктеу функциялары.
- •19.Конструкторлар.Қатарларды түрлендіру, қатардың құрамын іздеу
- •22. Мұрагерлік. Жай және көптік мұрагерлік.
- •23. Абстрактілі класс. Виртуалды функциялар.
- •24. Ағымдар. Стандартты, файлдық және қатарлық ағымдар.
- •25. Манипуляторлар. Жай және параметрлі манипуляторлар
- •26. Stl (Standard Template Library) кітапханасының құрылымы. Итераторлар.
- •27. Тізбекті контейнерлер. Векторлар, кезектер.
- •28.Екі жақты кезектер, стектер, тізімдер
- •29. Ассоциативті контейнерлер. Сөздіктер. Жиындар.
- •30. Stl (Standard Template Library) кітапханасының құрылымы
27. Тізбекті контейнерлер. Векторлар, кезектер.
Контейнер – бұл белгілі бір түрде ұйымдастырылған басқа объектілер жиынын құрайтын объект. Контейнерлер нақты типті объект коллекцияларын басқару үшін арналған. Контейнерлер мысалдары жиымдар (векторлар және ассоциативті жиымдар) және тізімдер (жекеленген тізімдер, кезектер, стектер) болып табылады. Контейнерге объектілерді қосуға болады және оларды одан жоюға болады.Контейнерлерді қолдану программалар сенімділігін жоғарылатуға, мүмкіндік береді.
STL контейнерлері тізбекті және ассоциативті деп бөлінеді. Тізбекті контейнерлер үздіксіз тізбек түріндегі бір типті объектілердің соңғы санын анықтауды қамтамасыз етеді және келесі түрлері бар: векторлар (vector); кезектер (queue ); екі жақты кезектер (deque); тізімдер (list); стектер (stack); приоритеттері бар кезектер (priority-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»
vector — C++ стандартты кітапханасының динамикалық жиымда айнымалыға мүмкіндік беретін шаблоны. Vector шаблоны <vector> тақырыптық файлында орналасқан. Егер ектор размерін өзгерту керек болса resize(n) әдісі қолданылады:
vector<int> v(20);
for(int i = 0; i < 20; i++) {
v[i] = i+1;}
v.resize(25);
for(int i = 20; i < 25; i++) {
v[i] = i*2;}
Итератордың көмегімен вектор элементтер қосындысын есептеу мысалы:
vector<int> the_vector;
vector<int>::iterator the_iterator;
for (int i=0; i < 10; i++) {
the_vector.push_back(i);}
int total = 0;
the_iterator = the_vector.begin();
while (the_iterator != the_vector.end()) {
total += *the_iterator; /* Обратите внимание, что доступ к элементу можно получить посредством разыменования итератора */
++the_iterator; }
cout << "нәтижесі=" << total << endl;
Нәтижесі=45
ВЕКТОР <vector> string классы секілді, С++ тілінің стандартты кітапханасы
|
әдісі |
сипаттамасы |
Конструкторы |
vector::vector |
Конструктор по умолчанию. Не принимает аргументов, создает новый экземпляр вектора |
vector::vector(const vector& c) |
Конструктор копии по умолчанию. Создает копию вектора c |
|
vector::vector(size_type n, const T& val = T()) |
Создает вектор с n объектами. |
|
vector::vector(input_iterator start, input_iterator end) |
Cоздает вектор из элементов, лежащих между start и end |
|
әдісі |
сипаттамасы |
Деструктор |
vector::~vector |
Уничтожает вектор и его элементы |
Операторы |
vector::operator= |
Копирует значение одного вектора в другой.O(n) |
vector::operator== |
Сравнение двух векторов |
Доступ к элементам |
vector::at |
Доступ к элементу с проверкой выхода за границу |
vector::operator[] |
Доступ к определенному элементу |
|
vector::front |
Доступ к первому элементу |
|
vector::back |
Доступ к последнему элементу |
|
әдісі |
сипаттамасы |
Другие методы |
vector::assign |
Ассоциирует с вектором поданные значения |
vector::get_allocator |
Возвращает аллокатор, используемый для выделения памяти |
|
Итераторы |
vector::begin |
Возвращает итератор на первый элемент вектора |
vector::end |
Возвращает итератор на место после последнего элемента вектора |
|
vector::rbegin |
Возвращает reverse_iterator на конец текущего вектора. |
|
vector::rend |
Возвращает reverse_iterator на начало вектора. |
|
әдісі |
сипаттамасы |
Работа с размером вектора |
vector::empty |
Возвращает true, если вектор пуст |
vector::size |
Возвращает количество элементов в вектора |
|
vector::max_size |
Возвращает максимально возможное количество элементов в векторе |
|
vector::reserve |
Устанавливает минимально возможное количество элементов в векторе |
|
vector::capacity |
Возвращает количество элементов, которое может содержать вектор до того, как ему потребуется выделить больше места. |
|
әдісі |
сипаттамасы |
Модификаторы |
vector::clear |
Удаляет все элементы вектора |
vector::insert |
Вставка элементов в вектор |
|
vector::erase |
Удаляем указанные элементы вектора (один или несколько) |
|
vector::push_back |
Вставка элемента в конец вектора |
|
vector::pop_back |
Удалить последний элемент вектора |
|
vector::resize |
Изменяет размер вектора на заданную величину |
|
vector::swap |
Обменять содержимое двух векторов |
