Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа Рус ООП.doc
Скачиваний:
6
Добавлен:
17.08.2019
Размер:
190.98 Кб
Скачать

Тема 12

Класс "Стек" на основе одномерного массива

1. Создать класс Stack для роботы со структурами типа стек. Стек представляет собой одномерную структуру, которая работает по принципу "последний вошел - первый вышел" (или LIFO - last-in, first-out). Тип элементов создаваемого стека должен определяться шаблоном. В качестве базовой структуры для построения стека использовать одномерный динамический массив.

2. Для создания объектов типа Stack, их инициализации и правильного их удаления предусмотреть соответствующие конструкторы и деструкто­р. Предусмотреть в классе конструктор копирования.

3. Количество мест для значений, помещаемых в стек (размер стека), должна быть константой для данного стека-объекта. Значение этого параметра должно устанавливаться при создании стека-объекта.

4. Для программирования операций над объектами класса Stack выполнить перегрузку следующих символов операций:

- динамическое присваивание, символ "=" ;

- проверка, являются ли два стека одинаковыми по размеру и содержимому, символ "==";

- прокрутка содержимого стека вперед на одну позицию, символ ">>" ;

- прокрутка содержимого стека назад на одну позицию, символ "<<" .

4. Предусмотреть следующие функции - члены класса:

  1. int Stack::num() - количество элементов, сохраняемых в стеке в данный момент;

  2. bool Stack::empty() - проверка, является ли стек пустым;

void Stack::push(type x) - загрузить новое значение x в стек;

type Stack::pop() - извлечь значение из вершины стека;

type Stack::top() - прочитать значение из вершины стека.

5. Разработать демонстрационно-тестирующую программу. Выполнить тестирование созданного класса.

Литература: [17]

Тема 13

Класс "Стек" на основе связного списка

1. Создать класс Stack для роботы со структурами типа стек. Стек представляет собой структуру типа "последний вошел - первый вышел" (или LIFO - last-in, first-out). Тип элементов стека должен определяться шаблоном. В качестве базовой структуры для построения стека использовать структуру связного списка.

2. Для создания объектов типа Stack, их инициализации и правильного их удаления предусмотреть соответствующие конструкторы и деструкто­р. Предусмотреть в классе конструктор копирования.

3. Для программирования операций над объектами класса Stack выполнить перегрузку следующих символов операций:

- динамическое присваивание, символ "=" ;

- проверка, являются ли размеры и содержимое двух стеков одинаковыми, символы "==";

- прокрутка стека вперед, символ ">>" ;

- прокрутка стека назад, символ "<<" .

4. Предусмотреть следующие функции - члены класса:

  1. int Stack::num() - количество элементов, сохраняемых в стеке в данный момент;

  2. bool Stack::empty() - проверка, является ли стек пустым;

void Stack::push(type) - загрузить новое значение в стек;

type Stack::pop() - извлечь значение из вершины стека;

type Stack::top() - прочитать значение из вершины стека.

5. Разработать демонстрационно-тестирующую программу. Выполнить тестирование созданного класса.

Литература: [17]

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