Проектирование и реализация абстракций типов данных
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
// 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 г.