Главная страница
Навигация по странице:

  • Постановка задачи и описание решения

  • Описание алгоритма Контрольные примеры Текст исходного файла

  • Пример 1: Входные данные: UKJapanРезультаты

  • Пример 2: Входные данные: ChinaTurkeyРезультаты

  • Пример 3: Входные данные: ABrakadabraNarniaРезультаты

  • Текст программы: Примеры выполнения программы

  • Линейные двусвязные списки


    Скачать 87.54 Kb.
    НазваниеЛинейные двусвязные списки
    Дата09.05.2022
    Размер87.54 Kb.
    Формат файлаdocx
    Имя файлаotchetTrunov-lab09.docx
    ТипОтчет
    #518990


    МИНОБРНАУКИ РОССИИ

    Санкт-Петербургский государственный

    электротехнический университет

    «ЛЭТИ» им. В.И. Ульянова (Ленина)

    Кафедра Вычислительной техники

    отчет

    по лабораторной работе 9

    по дисциплине «Программирование»

    Тема: «Линейные двусвязные списки»

    Студент гр. 1305




    Трунов Е.А.

    Преподаватель




    Аббас Саддам


    Санкт-Петербург

    2022

    Цель работы.

    Целью работы является изучение алгоритмов с линейными двусвязными списками в языке программирования Cи и получение практических навыков в создании программ со списками на этом языке.
    Задание (вариант 8)

    Разработать подалгоритм добавления элемента в двусвязный список после первого с «головы» элемента с заданным значением символьного поля и в конец списка, если такого элемента нет.

    Постановка задачи и описание решения

    В задании требуется создать структуры полей, в одном поле которых будет ссылка на двумерный список и с помощью подалгоритма добавить в двумерный массив новый элемент двумя способами.

    Для решения задачи мы создадим односвязный список из данных CSV файла с основными данными. Параллельно с заполнением основного списка, программа создаёт двусвязный список с одним символьным полем (в моем случае страны) и перед тем как добавить туда новый элемент, делает проверку наличия этого элемента перебором по двусвязному списку. После заполнения мы считываем название элемента, после которого вставить новый элемент в двусвязный список, а затем считываем и само название нового элемента. Затем идя перебором от начала списка находим искомый элемент и добавляем после него новый. Или в случае отсутствия искомого элемента (флаг останется 0) мы добавим новый элемент в конец.

    Описание переменных

    Функция

    Имя переменной

    Тип

    Назначение

    list_add

    str

    Массив символов

    Элемент, после которого идет вставка

    list

    Вставляемый элемент

    flag

    int

    Флаг применения операции

    i

    Счетчик в цикле


    Описание алгоритма
    Контрольные примеры

    Текст исходного файла:

    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и и получены практические навыки в создании программ с их преобразованиями на данном языке программирования.



    написать администратору сайта