Создание однонаправленного списка

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

//создание однонаправленного списка

//добавление в конец

point* make_list(int n) {

point*beg;//указатель на первый элемент

point*p,*r;//вспомогательные указатели

beg=new(point);//выделяем память под первый элемент

cout<<"\n?";

cin>>beg->data;//вводим значение информационного поля

beg->next=0;//обнуляем адресное поле

//ставим на этот элемент указатель p (последний элемент)

p=beg;

for(int i=0;i<n-1;i++) {

r=new(point);//создаем новый элемент

cout<<"\n?";

cin>>r->data;

r->next=0;

p->next=r;//связываем p и r

//ставим на r указатель p (последний элемент)

p=r;

}

return beg;//возвращаем beg как результат функции

}

 

Печать однонаправленного списка

Для обработки списка организуется цикл, в котором нужно переставлять указатель p с помощью оператора p=p->next на следующий элемент списка до тех пор, пока указатель p не станет равен 0, т. е. будет достигнут конец списка.

void print_list(point* beg) {

//печать списка

point* p=beg;//начало списка

while(p!=0) {

cout<<p->data<<"\t";

p=p->next;//переход к следующему элементу

}

}

 








Дата добавления: 2015-02-16; просмотров: 550;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.