русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Tip topqu (queue q)


Дата добавления: 2013-12-23; просмотров: 587; Нарушение авторских прав


Bool overqu (queue q);

Bool emptyqu (queue q);

Tip topqu (queue q);

Int size;

Struct queue

Typedef int tip;

Using namespace std;

ОЧЕРЕДЬ на основе массива

Пример программы из 3-х файлов.

Реализация очереди на основе массива.

0 1 2 3 4 . . . . . . . . . . size . . . . . . . . . . . . . . . . NN-1

                х х х х х            

beg

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

1-ый файл – заголовочный –описывает тип структуры-очереди, объявляет прототипы функций - операций, это интерфейсный файл.

2-ой файлфайл реализациисодержит описание функций- операций, спецификации этого типа данных

3-ий файл – главный файл с алгоритмом, использующим очереди.

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

//queue3f.h -интерфейсный файл

#include <iostream>

#include <fstream>

const int NN=100;

{ int beg;

tip x[NN];

};

void clrqu(queue &q);

void insqu(queue &q, tip a);

void remqu (queue &q);

void wrfqu(ofstream &fout,queue q);

 

//queue3fR.cpp - файл реализации

#include "queue3f.h"

//очистка очереди



void clrqu(queue &q){q.beg=0;q.size=0;}

//добавление элемента в очередь

void insqu(queue &q, tip a)

{q.x[(q.beg+q.size)%NN]=a;

q.size++;

}

//удаление элемента из непустой очереди

void remqu (queue &q)

{q.size--;

if(q.beg==NN-1) q.beg=0;

else q.beg++;

}

//выбрать элемент из очереди без удаления

{return q.x[q.beg];}

//проверка очереди на пустоту

bool emptyqu (queue q){return q.size==0;}

//проверка очереди на заполненность

bool over (queue q){return q.size==NN;}

//вывод элементов очереди в файл

void wrfqu(ofstream &fout,queue s)

{while (!empty(s))

{fout<<s.x[s.beg]<<"\n";remqu(s);}}

//queue3fgl.cpp -главная программа (клиентская часть)

#include <iomanip>

#include "queue3f.h"

//использование очереди: записать в файл //первые N чисел,

//в разложение которых на простые

//множители входят заданные в файле числа

const int N=100;

const int nq=10;



<== предыдущая лекция | следующая лекция ==>
Динамические структуры данных. | Основные особенности СУБД Access


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.