Проектирование и реализация абстракций типов данных

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

// false - извлечение не выполнено&out ) // Значение, которое извлекли

{

// Очередь пуста?( Size==0 )

{false;

}

// Извлекаем элемент из очереди= pQueue[ Right ];= ( Right+MaxSize-1 ) % MaxSize; -;true;

}

Текст программы

#include "stdio.h"

#include "conio.h"

#include

#include

#include

#include Queue // класс очередь

{strucelem // встроенный класс

{:data;// информационное поле* next;// адресное поле* prev;() { next = 0;prev = 0;}// конструктор

};* BeginQ;// указатель на первый элемент* LastQ;// указатель на предыдущий элемент:();// коструктор

~Queue();// деструкторPrintQueue();// печать очередиAddQueue(T data);// добавление элементов в очередьCheckQueue();// проверка состояния очередиDelQueue();// удаление из очередиDeleteQueue();// удаление очереди

};

// Конструктор. :: Queue() {= 0;= 0;

}

// Деструктор - освобождаем очередь и память выделенную под объекты.next;BeginQ;= work;

}= NULL;= NULL;

}

//Печать очереди::PrintQueue()

{*p = BeginQ;<< endl << "Очередь: ";(p)

{next;

}<< endl;

}

// Положить в очередь. :: AddQueue(T data) {* link = new strucelem;

(BeginQ == NULL) {>data = data;= link;= link;

}{>data = data;>next = link;= LastQ->next;

}

}

// Проверить состояние очереди. :: CheckQueue() {(BeginQ) return true;return false;

}

// Изъять из очереди.data;link;

// return p;

}

//else return 0;

}

// Очистить очередь.next;(!BeginQ) LastQ = 0;link;

}

}main(){(LC_ALL,"Russian");

// Формирование очередиn;.AddQueue(n);

}.PrintQueue();

//data_int.CheckQueue();

//data_int.PrintQueue();

//Добавление элементов n;.AddQueue(n);

}.PrintQueue();

// Удаление элементов iCount;(int i=0; i<iCount; i++).DelQueue();.PrintQueue();<<" удаление очереди:"; .DeleteQueue();.PrintQueue();("pause");0;

}

 

Результаты

 

 

3 Описание программы

 

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

Спроектируем шаблон класса Queue с типом T.

Определим интерфейс шаблона класса Queue:

Конструктор Queue ()

Назначение: создает объект класса Queue, т. е. создает очередь, выделяет динамическую память для хранения объекта.

Деструктор ~ Queue ()

Назначение: удаляет выделенную для объекта-очереди память.

Методы:

Добавление элемента n в очередь PutQueue(T data)

Удаление элемента из очереди T GetQueue()

Вывод очереди на экран PrintQueue()

Удаление очереди ClearQueue();

Проверка состояния очереди СheckQueue()

Свойства:

T data - информационное поле объекта-очереди;* next- указатель на следующий элемент(адресное поле)* prev - указатель на предыдущий элемент* BeginQ - указатель на первый элемент;* LastQ - указатель на предыдущий элемент;

Заключение

объектное ориентированное программирование очередь

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

В процессе курсового проектирования была разработана программа на языке C++, реализующая выполнение описанных выше функций.

 

Список использованных источников

 

1.Герберт Шилдт Справочник программиста по C/C++, второе издание - Москва - Санкт-Петербург - Киев 2001 г.

2.Т.А. Павловская C/C++ программирование на языке высокого уровня - Москва - Санкт-Петербург 2005 г.

.Р. Лафоре Объектно- ориентированное программирование в С++, четвертое издание - Москва - Санкт-Петербург - Минск 2004 г.