Скачать презентацию Линейные структуры Векторы Стеки Скачать презентацию Линейные структуры Векторы Стеки

Линейные структуры.pptx

  • Количество слайдов: 16

Линейные структуры Линейные структуры

 • Векторы • Стеки • Очереди • Векторы • Стеки • Очереди

Векторы • Вектор – это контейнер для хранения последовательного множества данных. • Для применения Векторы • Вектор – это контейнер для хранения последовательного множества данных. • Для применения вектора нужно подключить библиотеку: #include • Также как и массив может быть использован для различных типов – vector v 1; – vector v 2; – vector v 3; – vector v 4;

Инициализация векторов • Класс вектор содержит различные реализации конструкторов и поэтому пользователь может инициализировать Инициализация векторов • Класс вектор содержит различные реализации конструкторов и поэтому пользователь может инициализировать векторы по необходимости. – vector v 1; // изначально пустой – vector v 2(5); // 5 элементов, изначально равные нулю(0) – vector v 3(10, 1); // 10 элементов, изначально равные 1 – vector v 4(v 3); // v 4 это копия v 3

Доступ к элементам вектора vector<int> vec(5); v[1] = 5; v. at(2) = 24; v. Доступ к элементам вектора vector vec(5); v[1] = 5; v. at(2) = 24; v. front() = v. back();

Пример с другими функциями вектора //изначально пустой вектор vector<int> v; // ввести элементы for Пример с другими функциями вектора //изначально пустой вектор vector v; // ввести элементы for (int i = 0; i < 5; i++) { v. push_back(i); cout << "Size: " << v. size() << endl; } // удалить элементы for (int j = 0; j < 5; j++) { v. pop_back(); cout << "Size: " << v. size() << endl; } cout << endl << v. empty() << endl;

Задачи на векторы • Реализовать игру «Русская рулетка» • Дается список мышей с порцией Задачи на векторы • Реализовать игру «Русская рулетка» • Дается список мышей с порцией поедания сыра. Нужно накормить как можно больше мышей(подсказка: нужно отсортировать в порядке возрастания порции)

Стеки • Стеки - это множество элементов, сложенных в стопку. В стеках реализуется принцип Стеки • Стеки - это множество элементов, сложенных в стопку. В стеках реализуется принцип first in last out (FILO).

 • Для создания стека нужно подключить <stack> и в коде программы его объявить: • Для создания стека нужно подключить и в коде программы его объявить: • stack name, где type - тип стека, а name - имя стека. • Функции стека – – – push() - добавить элемент pop() - удалить верхний элемент top() - получить верхний элемент size() - размер стека empty() - true, если стек пуст

Пример стека string s; stack <string> st; while (cin>>s){ st. push(s); if(s== Пример стека string s; stack st; while (cin>>s){ st. push(s); if(s=="0") break; } while (!(st. empty())) {cout<

Задача на стек • Нужно реализовать случай когда в вагоне только одна дверь, то Задача на стек • Нужно реализовать случай когда в вагоне только одна дверь, то есть люди могут зайти и выйти оттуда с одной двери • Нужно написать программу на проверку правильных скобок

Очереди • Очереди, как следует из название, используют принцип first in first out (FIFO). Очереди • Очереди, как следует из название, используют принцип first in first out (FIFO). То есть, тот, кого мы первым запустили в очередь, первым из нее и выйдет (хотя в реальной жизни не всегда так. . )

Объявление очереди • Подключаем <queue> • queue <type> name; Объявление очереди • Подключаем • queue name;

 • • • Функции очереди push() - добавить элемент pop() - удалить первый • • • Функции очереди push() - добавить элемент pop() - удалить первый элемент size() - размер очереди empty() - true, если очередь пуста front() - получить первый элемент back() - получить последний элемент

Пример • string s; • queue <string> st; • • • while (cin>>s){ st. Пример • string s; • queue st; • • • while (cin>>s){ st. push(s); if(s=="0") break; } while (!(st. empty())) • {cout<

Задача на очереди • Люди, прибывшие в магазин, в зависимости от их потребностей становятся Задача на очереди • Люди, прибывшие в магазин, в зависимости от их потребностей становятся в очередь на разные ряды. Так как в магазине только одна касса, их нужно выстроить в очередь в кассу таким образом, чтобы изначальный порядок каждой очереди не нарушился.