Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Односвязные списки

Автор:   •  Январь 8, 2022  •  Практическая работа  •  1,326 Слов (6 Страниц)  •  243 Просмотры

Страница 1 из 6

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Южно-Уральский государственный университет»

(Национальный исследовательский университет)

Кафедра Автоматики и Управления

ОТЧЕТ

по практической работе №1

«Односвязные списки»

Вариант №25

Автор работы:

студент группы КЭ-217

____________Хасенов Р.С.

«__» ______________ 2021

Проверила:

__________ Вставская Е.В

«__» ______________ 2021

Челябинск 2021


Блок-схема:[pic 1]

[pic 2][pic 3][pic 4]

[pic 5]

[pic 6]

Результат работы:

[pic 7]


Исходный код программы:

// Односвязный линейный список (ОЛС)

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#include <stdlib.h>

#include <malloc.h>

struct list

{

        int field;

        struct list *ptr;

};

// Инициализация списка (ОЛС)

struct list * init(int a)

{

        struct list *lst;

        lst = (struct list*)malloc(sizeof(struct list)); // выделение памяти под корень списка

        lst->field = a;

        lst->ptr = NULL;                        // это последний элемент списка

        return(lst);

}

// Добавление элемента (возвращает добавленный элемент) (ОЛС)

struct list * addelem(list *lst, int number)

{

        struct list *temp, *p;

        temp = (struct list*)malloc(sizeof(list)); // выделение памяти под узел списка

        p = lst->ptr;                                // временное сохранение указателя

        lst->ptr = temp;                        // предыдущий узел указывает на создаваемый

        temp->field = number;                // сохранение поля данных добавляемого узла

        temp->ptr = p;                        // созданный узел указывает на следующий элемент

        return(temp);

}

// Вывод элементов списка (ОЛС)

void listprint(list *lst)

{

        struct list *p;

        p = lst;

        do {

                printf("%d ", p->field);        // вывод значения элемента p

                p = p->ptr;                                // переход к следующему элементу

...

Скачать:   txt (4.8 Kb)   pdf (238.5 Kb)   docx (128.1 Kb)  
Продолжить читать еще 5 страниц(ы) »
Доступно только на Essays.club