Линейные двусвязные списки
Скачать 87.54 Kb.
|
МИНОБРНАУКИ РОССИИ Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В.И. Ульянова (Ленина) Кафедра Вычислительной техники отчет по лабораторной работе № 9 по дисциплине «Программирование» Тема: «Линейные двусвязные списки»
Санкт-Петербург 2022 Цель работы. Целью работы является изучение алгоритмов с линейными двусвязными списками в языке программирования Cи и получение практических навыков в создании программ со списками на этом языке. Задание (вариант 8) Разработать подалгоритм добавления элемента в двусвязный список после первого с «головы» элемента с заданным значением символьного поля и в конец списка, если такого элемента нет. Постановка задачи и описание решения В задании требуется создать структуры полей, в одном поле которых будет ссылка на двумерный список и с помощью подалгоритма добавить в двумерный массив новый элемент двумя способами. Для решения задачи мы создадим односвязный список из данных CSV файла с основными данными. Параллельно с заполнением основного списка, программа создаёт двусвязный список с одним символьным полем (в моем случае страны) и перед тем как добавить туда новый элемент, делает проверку наличия этого элемента перебором по двусвязному списку. После заполнения мы считываем название элемента, после которого вставить новый элемент в двусвязный список, а затем считываем и само название нового элемента. Затем идя перебором от начала списка находим искомый элемент и добавляем после него новый. Или в случае отсутствия искомого элемента (флаг останется 0) мы добавим новый элемент в конец. Описание переменных
Описание алгоритма Контрольные примеры Текст исходного файла: Last James;m;2000;Football;2;Russia;45.3 Mae Vanessa;f;1990;Basketball;1;USA;48.3 Chang Jeckie;m;1999;Fight;4;UK;75 Stone Sharonne;f;2001;Golf;3;Italia;63.2 McCartney Pol;m;1999;Football;2;Germany;49.5 Howston Witney;f;1987;Golf;1;Vietnam;90.6 Egor Trunov;m;2003;Racing;1;Russia;63 Gendolf Dudin;m;1999;Basketball;2;Russia;63.5 Georgiy Usupov;m;2000;Golf;3;Canada;70 Bulkin Fedor;m;1983;Swiming;1;USA;50 Loginova Sofia;f;2002;Dancing;1;Canada;45 Sviridov Alex;m;2000;Football;1;China;71.1 Polyakov Georgiy;m;2010;Golf;2;USA;48.7 Pavlova Anastasia;f;1967;Rugby;1;Russia;49.5 Egor Trostin;m;2003;Football;1;China;74.1 Пример 1: Входные данные: UK Japan Результаты: New list of Country 1 | Russia 2 | USA 3 | UK 9 | Japan 4 | Italia 5 | Germany 6 | Vietnam 7 | Canada 8 | China Пример 2: Входные данные: China Turkey Результаты: New list of Country 1 | Russia 2 | USA 3 | UK 4 | Italia 5 | Germany 6 | Vietnam 7 | Canada 8 | China 9 | Turkey Пример 3: Входные данные: ABrakadabra Narnia Результаты: New list of Country 1 | Russia 2 | USA 3 | UK 4 | Italia 5 | Germany 6 | Vietnam 7 | Canada 8 | China 9 | Narnia Текст программы: Примеры выполнения программы: Выводы. В результате выполнения работы были изучены алгоритмы линейными двусвязными списками в языке программирования Cи и получены практические навыки в создании программ с их преобразованиями на данном языке программирования. |