Информатика и технология программирования


Ссылка (неявный указатель) - часть 5


Ссылка в качестве формального параметра используется всегда, когда требуется изменить значение соответствующего фактического параметра при вызове функции. Тип параметра может быть любым. В качестве примера рассмотрим ССЫЛКУ НА УКАЗАТЕЛЬ на текущий элемент списка и на текущую вершину двоичного дерева в операциях включения. В соответствии с принципом контекстного определения типа данных последовательность операций "&#38,*" читается от переменной p справа налево как ссылка на указатель.


//------------------------------------------------------bk72-02.cpp


//------ Включение в список с использованием ссылки на указатель и рекурсии


struct list
{
int val;
list *next;
} *head=NULL;


void InsertList(list *&#38ph, int n)
{
list *pnew;
if (ph==NULL || n &#60 ph-&#62val)
{
pnew = new list;
pnew-&#62val=n;
pnew-&#62next=ph;
ph=pnew;
return;
}
InsertList(ph-&#62next, n);
}
//------ Включение в дерево с использованием ссылки на указатель и рекурсии


struct btree
{
int val;
btree *l,*r;
} *hd=NULL;


void Insert(btree *&#38p, int n)
{
if (p==NULL)
{
btree *pnew=new btree;
pnew-&#62val=n;
pnew-&#62l=pnew-&#62r=NULL;
p=pnew;
return;
}
if (p-&#62val &#60 n) Insert(p-&#62l,n);
else Insert(p-&#62r,n);
}




Начало  Назад  Вперед



Книжный магазин