Алгоритмы и структуры данных на С++. Аксёнова Е.А - 29 стр.

UptoLike

2.4. Реализация алгоритмов работы с односвязным списком 29
функций для работы с ним. Заметим, что в некоторых функциях ре-
ализуются только основные идеи. Для получения практических вари-
антов программ необходимо добавить некоторые проверки на пустоту
или на окончание списка.
Функция ввода m элементов списка
# include<iostream.h>
struct node{char fam[20]; int n; node *link;};
node* create()
{
int m, i;
node *first, *q;
cin>>m; //вводим количество элементов списка
first=NULL; //пока нет элементов
for(i=0; i<m; i++) //в цикле считываем все данные
{
q=new node; //выделяем память под узел
cin>>q->fam; //считываем фамилию
cin>>q->n; //считываем номер
q->link=first; //ссылку на следующий элемент
//направляем туда, куда
//раньше указывал first,
first = q; //а first на новый элемент
}
return first; //возвращаем указатель на
//первый элемент в списке
}
Рис. 2.18
2.4.     Реализация алгоритмов работы с односвязным списком    29


функций для работы с ним. Заметим, что в некоторых функциях ре-
ализуются только основные идеи. Для получения практических вари-
антов программ необходимо добавить некоторые проверки на пустоту
или на окончание списка.

                Функция ввода m элементов списка

# include

struct node{char fam[20]; int n; node *link;};

node* create()
{
   int m, i;
   node *first, *q;
   cin>>m;         //вводим количество элементов списка
   first=NULL;      //пока нет элементов

       for(i=0; i>q->fam;     //считываем фамилию
             cin>>q->n;       //считываем номер
             q->link=first;   //ссылку на следующий элемент
                              //направляем туда, куда
                              //раньше указывал first,
             first = q;       //а first на новый элемент
         }
       return first; //возвращаем указатель на
                     //первый элемент в списке
}




                                Рис. 2.18