Курсовая работа: Работа со списками

АННОТАЦИЯ

Список – это динамическая структура, иными словами, массив данных некоторого типа, размеры которого могут меняться в процессе выполнения программы. Списки очень широко используются в информационных технологиях. В том числе, в области машинной графики для описания графических примитивов. Так, например, некоторая геометрическая модель может быть представлена списком вершин, линий или других объектов любой сложности.

Данная программа представляет собой редактор изображений, позволяет создавать графические изображения, в основе которых лежат некоторые графические примитивы, такие как линии, прямоугольники и кривые Безье, а также выделять и удалять части объектов и менять цвет объектов. Все графическое изображение представляется списком линий. Все возможные в программе операции с объектами – это наглядное представление операций со списками, которые осуществляются при помощи нескольких классов для работы с ними.


ИССЛЕДОВАТЕЛЬСКАЯ ЧАСТЬ

1.1 Постановка задачи

Возможно вы искали - Курсовая работа: Работа учителя информатики по поддержке сайта учебного заведения

Создать несколько классов, реализующих работу со списками и применить эти классы к задаче построения геометрических фигур, тем самым продемонстрировав их работоспособность.

1.2Способы реализации

Для реализации поставленной задачи используется стек (он представляет собой список типа LIFO, в котором последний добавленный элемент считывается первым), а также обратная стеку динамическая структура – очередь (FIFO). В программе используются методы объектно-ориентированного программирования для облегчения способа решения задачи: шаблоны классов (для записи в список элементов различного типа), наследование (для сокращения объема программного кода), виртуальные функции (для корректного переопределения методов различных классов), абстрактный класс (для общего описания основных функций).

1.3Исследование поставленной задачи

Похожий материал - Курсовая работа: Радио сети

1.3.1 Создание стека

Стек представляет собой список типа LIFO, в котором последний добавленный элемент считывается первым. Для создания стека в программе используется структура List, содержащая поле ссылки на следующий элемент и шаблонный тип данных в качестве информационного поля. Для программной реализации стека необходимо описать 2 переменные указанного выше типа List: p (указатель на текущий элемент) и top (указатель на вершину списка). При добавлении элемента в стек, новому элементу присваивается ссылка на вершину стека, а затем и он сам становится вершиной. Таким образом, стек растет как бы назад:

p=new list;

p->next=top;

p->inf=value;

Очень интересно - Курсовая работа: Радиосети: протокол IEEE 802.11

top=p;

1.3.2 Создание очереди

Очередь очень похожа на стек за исключением того, что элементы в ней располагаются в нормальном порядке, а не в обратном. Обход очереди и обход стека идентичны. Учитывая это сходство, можно создать класс очереди как наследника класса стека, переопределив в нем только функции создания и добавления элемента. Так как в очереди первый элемент должен быть создан заранее, то заносим его создание в конструктор класса:

top=new list;

top->next=NULL;

Вам будет интересно - Дипломная работа: Развертывание сетей WIMAX

p=top;

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

p->next=new list;

p->next->next=NULL;

p->inf=value;

Похожий материал - Реферат: Развитие Web технологий

p=p->next;

1.4 Актуальность поставленной задачи

Исследуемые алгоритмы применяются для решения многих прикладных задач , особенно в области машинной графики. Работа со списками очень важна при построении графических моделей, моделировании графических приложений, создании видеоигр, а также для организации памяти под данные пользовательских типов и так далее. Списки – это основная динамическая структура, на которой базируются остальные.


2. КОНСТРУКТОРСКАЯ ЧАСТЬ