ВУЗ:
Составители:
Рубрика:
А.А. Андрианова, Л.Н. Исмагилов, Т.М. Мухтарова .
ляется пустая (нулевая) ссылка в поле адреса следующего элемента. Напри-
мер, в языке С++ для обозначения пустой ссылки используется константа
NULL, в C# и Java – null, в Pascal – nil.
Далее приводится описание процесса решения некоторых задач с при-
менением пользовательских функций.
Задача 1. Пусть имеется непустой односвязный список, который содер-
жит целые числа. Написать функцию нахождения суммы элементов списка.
Рис.3.2. Исходный список.
// структура для хранения узла списка
struct List
{
int info; // информационное поле
List* next; // указатель на следующий узел списка
};
Чтобы найти сумму элементов списка, нужно пройти по всем его узлам,
добавляя значение информационного поля (переменная info) к переменной,
хранящей сумму. Для этого заводим переменную current, которая сначала
хранит адрес первого элемента списка. В цикле последовательно по цепочке
сдвигаем ее значение на следующий элемент (current=current->next).
Условие окончания цикла – значение NULL в переменной current.
// определение функции подсчета суммы элементов списка
int SummaList(List*head)
{
int s=0;
// просмотр элементов списка начинается
// с его первого элемента
List* current=head;
while(current!=NULL)// пока список не закончен
{
s+=current->info;// добавление значения текущего
54
А.А. Андрианова, Л.Н. Исмагилов, Т.М. Мухтарова .
ляется пустая (нулевая) ссылка в поле адреса следующего элемента. Напри-
мер, в языке С++ для обозначения пустой ссылки используется константа
NULL, в C# и Java – null, в Pascal – nil.
Далее приводится описание процесса решения некоторых задач с при-
менением пользовательских функций.
Задача 1. Пусть имеется непустой односвязный список, который содер-
жит целые числа. Написать функцию нахождения суммы элементов списка.
Рис.3.2. Исходный список.
// структура для хранения узла списка
struct List
{
int info; // информационное поле
List* next; // указатель на следующий узел списка
};
Чтобы найти сумму элементов списка, нужно пройти по всем его узлам,
добавляя значение информационного поля (переменная info) к переменной,
хранящей сумму. Для этого заводим переменную current, которая сначала
хранит адрес первого элемента списка. В цикле последовательно по цепочке
сдвигаем ее значение на следующий элемент (current=current->next).
Условие окончания цикла – значение NULL в переменной current.
// определение функции подсчета суммы элементов списка
int SummaList(List*head)
{
int s=0;
// просмотр элементов списка начинается
// с его первого элемента
List* current=head;
while(current!=NULL)// пока список не закончен
{
s+=current->info;// добавление значения текущего
54
Страницы
- « первая
- ‹ предыдущая
- …
- 52
- 53
- 54
- 55
- 56
- …
- следующая ›
- последняя »
