Вариант первого задания

Номер варианта Задание
1 Опишите параметризованный класс односвязный список элементов. Описать функцию вставки нового элемента после заданного.
2 Опишите параметризованный класс двусвязный список элементов. Описать функцию удаления элемента после заданного.
3 Опишите параметризованный класс очередь элементов. Описать функцию вставки нового элемента в конец очереди.
4 Опишите параметризованный класс стек элементов. Описать функцию вставки нового элемента в начало стека.
5 Опишите параметризованный класс стек элементов ограниченной ёмкости (параметр – тип и число-емкость). Описать функцию удаления элемента из стека.
6 Опишите параметризованный класс очередь с приоритетами. Описать функцию извлечения элемента с наивысшим приоритетом.
7 Опишите параметризованную функцию сортировки вставкой в массиве.
8 Опишите параметризованную функцию сортировки выборкой в массиве.
9 Опишите параметризованную функцию сортировки пузырьком в массиве.
10 Опишите параметризованную функцию нахождения элемента в неупорядоченном массиве.
11 Опишите параметризованную функцию нахождения элемента в упорядоченном массиве.
12 Опишите параметризованную функцию замены одного элемента массива на другой.
13 Опишите параметризованную функцию инверсии массива элементов.
14 Опишите параметризованную функцию вычисления среднего арифметического значения массива элементов.
15 Опишите параметризованный класс двоичное дерево элементов. Опишите функцию поиска элемента в дереве.

Вариант второго задания

Абстрактный тип данных (АТД) − тип данных, определяемый только через операции, которые могут выполняться над соответствующими объектами безотносительно к способу представления этих объектов.

 

Порядок выполнения задания

1. Класс АТД реализовать как динамический массив. Для этого определение класса должно иметь следующие поля:

− указатель на начало массива;

− максимальный размер массива;

− текущий размер массива.

2. Для вода и вывода определить в классе функции input и print.

3. Чтобы не возникало проблем, аккуратно работайте с константными объектами. Например:

•конструктор копирования следует определить так:

MyTmp (const MyTmp& ob);

•операцию присваивания перегрузить так:

MyTmp& operator = (constMyTmp& ob);

4. Для шаблонов множеств, списков, стеков и очередей в качестве стандартных типов использовать символьные, целые и вещественные типы. Для пользовательского типа взять класс представленный ниже из приложения.

5. Для шаблонов массивов в качестве стандартных типов использовать целые и вещественные типы. Для пользовательского типа взять класс “комплексное число” complex.

class complex {

int re; // действительная часть

int im; // мнимая часть

public;

// необходимые функции и перегруженные операции

};

6. Реализацию шаблона следует разместить вместе с определением в заголовочном файле.

7. Тестирование должно быть выполнено для всех типов данных и для всех операций.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: