Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Теоретическая часть

Читайте также:
  1. Cчастье продолжается
  2. I. ВВОДНАЯ ЧАСТЬ
  3. I. ВВОДНАЯ ЧАСТЬ (10 мин.)
  4. I. ВВОДНАЯ ЧАСТЬ. Теоретические сведения
  5. I. ВВОДНАЯ ЧАСТЬ. Теоретические сведения
  6. I. ВВОДНАЯ ЧАСТЬ. Теоретические сведения
  7. I. ВВОДНАЯ ЧАСТЬ. Теоретические сведения

Содержание

 

Введение …………………………………………………………………… 3

Постановка задачи……………………………………….………….4

Использование программы……………………………………….4

Раздел 1. Теоретическая часть……………………………………….……5

Раздел 2. Алгоритмическая част…………………………………………..7

2.1 Создание списка………………………………………………….7

2.2 Добавление элемента в список………………………………….7

2.3 Удаление …………………………………………………………8

2.4 Просмотр списка…………………………………………………9

2.5 Синтаксический анализатор…………………………………….10

Раздел 3 Техническое задание…………………………………………….11

Раздел 4 …………………………………………………………………….13

4.1 Описание программы ………………………………………….13

4.2 Руководство пользователя……………………………………..14

Вывод ………………………………………………………………………15

Список использованной литературы ………………………………….16

Приложение А ……………………………………………………………..17

Приложение Б ……………………………………………………………...29

 

 

Введение

 

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

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

 

 

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

При помощи среды визуального проектирования Delphi создать программу-оболочку для управления структурой данных "список". Реализовать операции создания списка, просмотра содержимого списка, удаление списка, добавления элемента в список, удаление заданного элемента из списка, поиска в списке по заданному полю. Также реализовать встроенный в программу синтаксический анализатор, при помощи которого производить вывод на экран искомого множества элементов списка (синтаксический анализатор должен работать как минимум по трем полям и использовать как минимум три булевых оператора).

Создать линейный двунаправленный неупорядоченный список.

Элемент списка – принтер;

1. тип;

2. качество;

3. фирма изготовитель;

4.название;

 

Осуществить поиск по:

1. названию;

2. фирме изготовителю;

3. качеству

 

 

Использование программы:

 

a) можно составить базу данных содержащую сведенья о принтерах;

b) можно исправить уже имеющуюся базу данных;

c) можно просмотреть все сведенья о принтерах, содержащихся в базе данных;

d) можно осуществить поиск принтеров по заданным параметрам.

 

Раздел 1

Теоретическая часть

Классический пример структуры данных последовательного доступа, в которой можно удалять и добавлять элементы в середине структуры, -- это линейный список. Различают однонаправленный и двунаправленный списки (иногда говорят односвязный и двусвязный).

 

Элементы списка как бы выстроены в цепочку друг за другом. У списка есть начало и конец. Имеется также указатель списка, который располагается между элементами. Если мысленно вообразить, что соседние элементы списка связаны между собой веревкой, то указатель -- это ленточка, которая вешается на веревку. В любой момент времени в списке доступны лишь два элемента -- элементы до указателя и за указателем. (рис. 1.1)

Рис. 1.1- Структура однонаправленного списка

 

В двунаправленном списке можно добавлять и удалять элементы до и за указателем. Считают, что вслед за последним элементом списка вновь следует голова списка, т.е. список зациклен в кольцо.(рис. 1.2)

Рис. 1.2 – Структура двунаправленного списка

 

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

Интересным свойством такого списка является то, что для доступа к его элементам вовсе не обязательно хранить указатель на первый элемент. Достаточно иметь указатель на любой элемент списка. Первый элемент всегда можно найти по цепочке указателей на предыдущие элементы, а последний - по цепочке указателей на следующие. Но наличие указателя на заголовок списка в ряде случаев ускоряет работу со списком. Двунаправленные списки ориентированы на обработку как в прямом, так и в обратном направлении. Для этого в звенья связи дополнительно вводится адрес, реализующий связь типа «предыдущий». Для задания двунаправленной списковой структуры необходима следующая ассоциативная информация:

-указатель списка, содержащий адрес первого и последнего элементов;

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

 

Раздел 2


Дата добавления: 2015-11-04; просмотров: 45 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Проектируемый жилой дом расположен г. Саки ул. Гайнутдтнова, 17| Руководство пользователя

mybiblioteka.su - 2015-2024 год. (0.007 сек.)