Главная->Інформатика та програмування->Содержание->Добавление новых элементов в список

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 10) онлайн

Добавление новых элементов в список

Функция additem() позволяет нам добавить новый элемент в связный список. Новый элемент вставляется в начало списка (мы могли бы вставлять новый эле- мент и в конец списка, но это будет более сложным примером). Давайте последо- вательно рассмотрим действия при вставке нового элемента. Сначала мы создаем новый элемент типа link в строке

link* newlink = new link;

Таким образом, мы выделяем память для нового элемента с помощью опера- ции new и сохраняем указатель на него в переменной newlink.

Затем мы заполняем элемент нужным нам значением. При этом действия со структурой похожи на действия с классами; к элементам структуры можно получить доступ, используя операцию ->. В следующих двух строках програм- мы мы присваиваем переменной data значение, переданное как аргумент функ- ции additem(), а указателю на следующий элемент мы присваиваем значение, хранящееся в указателе first. Этот указатель содержит в себе адрес начала списка.

newlink->data = d; newlink->next = first;

И в заключение мы присваиваем указателю first значение указателя на но- вый элемент списка, first = newlink;

Смыслом всех этих действий является замена адреса, содержащегося в указателе first, на адрес нового элемента, при этом старый адрес указателя first превратится в адрес второго элемента списка. Этот процесс иллюстрирует рис. 10.16.

Рис. 10.16. Вставка нового элемента в связный список

 

36