Практикум по курсу "Алгоритмизация и программирование". Часть 2. Андрианова А.А - 66 стр.

UptoLike

А.А. Андрианова, Л.Н. Исмагилов, Т.М. Мухтарова .
// для слагаемого, хранящегося в current,
// начиная со следующего за ним;
// адрес предыдущего слагаемого необходим
// для последующего удаления
prev=current;
help=current->next;
while(help!=NULL)
{
if(help->n==current->n)
{
// нашли подобное слагаемое
// приводим его и удаляем из списка
current->a+=help->a;
prev->next=help->next;
delete help;
help=prev->next;
}
else
{
prev=help;
help=help->next;
}
}
current=current->next;
}
}
Домашнее задание
1. Дан односвязный список. Написать функцию печати его элементов.
2. Дан односвязный список. Написать функцию удаления элемента
списка, расположенного в заданной позиции.
3. Дан односвязный список. Написать функцию создания копии имеюще-
гося односвязного списка.
4. Дан односвязный список. Написать функцию, которая:
1) формирует новый список, расположив элементы исходного
списка в обратном порядке;
2) располагает элементы в обратном порядке в исходном списке.
66
А.А. Андрианова, Л.Н. Исмагилов, Т.М. Мухтарова                    .
                   // для слагаемого, хранящегося в current,
                   // начиная со следующего за ним;
                   // адрес предыдущего слагаемого необходим
                   // для последующего удаления
                   prev=current;
                   help=current->next;
                   while(help!=NULL)
                   {
                        if(help->n==current->n)
                        {
                             // нашли подобное слагаемое
                             // приводим его и удаляем из списка
                             current->a+=help->a;
                             prev->next=help->next;
                             delete help;
                             help=prev->next;
                        }
                        else
                        {
                             prev=help;
                             help=help->next;
                        }
                   }
                   current=current->next;
            }
    }


                                                  Домашнее задание

    1. Дан односвязный список. Написать функцию печати его элементов.

    2. Дан односвязный список. Написать функцию удаления элемента
списка, расположенного в заданной позиции.

    3. Дан односвязный список. Написать функцию создания копии имеюще-
гося односвязного списка.

    4. Дан односвязный список. Написать функцию, которая:
           1) формирует новый список, расположив элементы исходного
           списка в обратном порядке;
           2) располагает элементы в обратном порядке в исходном списке.


                                            66