Вход

Библиотека алгоритмов поиска в связанных списках

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 110246
Дата создания 2011
Страниц 27
Источников 4
Мы сможем обработать ваш заказ (!) 29 марта в 18:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
2 100руб.
КУПИТЬ

Содержание

Введение
1. Понятие о связанных списках
2. Классификация связанных списков
3. Основные операции со связанными списками, необходимые для их обработки
4. Алгоритмы поиска в связанных списках
4.1 Алгоритм поиска в линейном односвязном списке и его реализация в среде С++
4.2 Алгоритм поиска в линейном двухсвязном списке и его реализация в среде С++
Заключение
Используемая литература

Фрагмент работы для ознакомления

!! СПИСОК ПУСТ !!!\n\n");
/* ожидание нажатия клавиши */
system("PAUSE");
/* очистка экрана */
system("CLS");
continue;
}
if (head->next == NULL)
{
/* сброс указателей хвоста и головы*/
head = NULL;
tail = NULL;
delete head;
continue;
}
/* удаление элемента списка*/
ptrDelete = head;
head = ptrDelete->next;
head->last = NULL;
delete ptrDelete;
continue;
}
if (action == 5)
{
/* очистка экрана */
system("CLS");
Node* ptrDelete = NULL;
if (tail == NULL)
{
adapt("\t!!! СПИСОК ПУСТ !!!\n\n");
/* ожидание нажатия клавиши */
system("PAUSE");
/* очистка экрана */
system("CLS");
continue;
}
if (tail->last == NULL)
{
head = NULL;
/* очистка экрана */
tail = NULL;
delete tail;
continue;
}
ptrDelete = tail;
tail = ptrDelete->last;
tail->next = NULL;
ptrLast = tail;
delete ptrDelete;
continue;
}
if (action == 6)
{
/* очистка экрана */
system("CLS");
Node* ptr = NULL;
int key = -1;
if (head == NULL)
{
adapt("\t ====== В списке нет не одного элемента\n\n");
/* очистка экрана */
/* ожидание нажатия клавиши */
system("PAUSE");
system("CLS");
continue;
}
adapt("Введите информационную часть узла : ");
cin>>key;
ptr = head;
while (1)
{
if (key == ptr->number)
{
adapt("\n\t Узел существует \n");
break;
}
if (ptr->next == NULL)
{
adapt("\n\t Узел не существует\n");
break;
}
/* переход к следующему элементу*/
ptr = ptr->next;
}
system("PAUSE");
/* очистка экрана */
system("CLS");
continue;
}
if (action > 6)
{ /*действия в случае неправильного выбора*/
/* очистка экрана */
system("CLS");
adapt("\t!!! НЕВЕРНЫЙ ВЫБОР. ПОВТОРИТЕ ВВОД !!!\n\n");
/* ожидание нажатия клавиши */
system("PAUSE");
/* очистка экрана */
system("CLS");
continue;
}
}
}
/* адаптация русского языка*/
void adapt(const char* textstroka)
{
char word[100];
CharToOem(textstroka, word);
cout<<word;
}
Работоспособность программы демонстрируют экранные формы, представленные на рис.11-14.
Рис.11 Главное меню программы

Рис.11 Обычный просмотр списка
Рис.12 Просмотр списка, начиная с хвоста
Рис.13 Выбор узла для поиска
Рис.14 Результат выполнения поиска

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

Используемая литература
Дискретная математика для программистов / Ф. А. Новиков — СПб: Питер. 2О00. — 304 с.
Вылиток А.А., Матвеева Т.К. Динамические структуры данных. Задание практикума. - М.: Издательский отдел Факультета ВМиК МГУ им. М.В. Ломоносова, 2004. – 44с.
Поляков К. Программирование на языке С. Москва, 2009.
Каррано Ф.М., Причард Дж.Дж. Абстракция данных и решение задач на C++. : Пер. с англ. — М.: Издательский дом "Вильяме", 2003. — 848 с.

1

Список литературы [ всего 4]

1.Дискретная математика для программистов / Ф. А. Новиков — СПб: Питер. 2О00. — 304 с.
2.Вылиток А.А., Матвеева Т.К. Динамические структуры данных. Задание практикума. - М.: Издательский отдел Факультета ВМиК МГУ им. М.В. Ломоносова, 2004. – 44с.
3.Поляков К. Программирование на языке С. Москва, 2009.
4.Каррано Ф.М., Причард Дж.Дж. Абстракция данных и решение задач на C++. : Пер. с англ. — М.: Издательский дом "Вильяме", 2003. — 848 с.
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.0063
© Рефератбанк, 2002 - 2024