Исходный файл 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;
}
Скриншот результатов выполнения программы