Добавил:
t.me Установите расширение 'SyncShare' для решения тестов в LMS (Moodle): https://syncshare.naloaty.me/ . На всякий лучше отключить блокировщик рекламы с ним. || Как пользоваться ChatGPT в России: https://habr.com/ru/articles/704600/ || Также можно с VPNом заходить в bing.com через Edge браузер и общаться с Microsoft Bing Chat, но в последнее время они форсят Copilot и он мне меньше нравится. || Студент-заочник ГУАП, группа Z9411. Ещё учусь на 5-ом курсе 'Прикладной информатики' (09.03.03). || Если мой материал вам помог - можете написать мне 'Спасибо', мне будет очень приятно :) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы / z9411_КафкаРС_лр_14.docx
Скачиваний:
19
Добавлен:
18.05.2022
Размер:
112.45 Кб
Скачать

Исходный файл modSp.Cpp

/*Исходный файл modSp.cpp

Реализация набора функций для работы со списком*/

#include<iostream>

#include"modSp.h"

using namespace std;

//Добавление нового элемента в конец списка

void add_spis(int ch, list** beg, list** end)

{

list* nov = new list; //Выделяем память под элемент списка.

nov->data = ch; //Заполняем информационную часть.

nov->link = 0; //В ссылочную - NULL.

if (*beg) //Если список не пуст,

(*end)->link = nov; //добавляем в конец списка.

else *beg = nov; //Если список был пуст.

*end = nov; //Новый элемент - последний.

return;

}

//построение результирующего списка

void obrabotka(list* beg, list** beg1, list** end1)

{

list* beg_save = beg;

telem max = beg->data;

int imax, i = 0;

while (beg)

{

if (beg->data > max)

{

max = beg->data;

imax = i;

}

beg = beg->link;

i++;

}

beg = beg_save;

for (int j = 0; j < i; j++)

{

if (j < imax)

add_spis(0, beg1, end1);

else add_spis(beg->data, beg1, end1);

beg = beg->link;

}

return;

}

//просмотр списка

void view_spis(list* beg)

{

while (beg)

{

cout << beg->data << ' ';

beg = beg->link;

}

return;

}

//инициализация списка

void init_spis(list** beg, list** end)

{

*beg = *end = 0; //исходный список пуст

return;

}

//инициализация списка

void udal_spis(list** beg, list** end)

{

list* tec;

while (*beg)

{

tec = *beg;

*beg = (*beg)->link;

delete tec;

}

*end = 0;

//список пуст

return;

}

Скриншот результатов выполнения программы