ВУЗ:
Составители:
Рубрика:
{
int key;//ключевое поле
point* pred,*next;//адресные поля
};
point*make_list()
{
int n;
cout<<"n-?";cin>>n;
point *p,*r,*beg;
p=new (point);//создать первый элемент
beg=p;//запомнить адрес в переменную beg, в которой хранится начало
списка
cout<<"key-?";cin>>p->key;//заполнить ключевое поле
p->pred=0;p->next=0;//запомнить адресные поля
for(int i=1;i<n;i++)//добавить элементы в конец списка
{
r=new(point);//новый элемент
cout<<"key-?";cin>>r->key;//адресное поле
p->next=r;//связать начало списка с r
r->pred=p;//связать r с началом списка
r->next=0;//обнулить последнее адресное поле
p=r;//передвинуть p на последний элемент списка
}
return beg;//вернуть первый элемент списка
}
void print_list(point *beg)
{
if (beg==0)//если список пустой
{
cout<<"The list is empty\n";
return;
}
point*p=beg;
while(p)//пока не конец списка
{
cout<<p->key<<"\t";
p=p->next;//перейти на следующий
}
cout<<"\n";
}
point* del_point(point*beg, int k)
{
point *p=beg;
if(k==0)//удалить первый элемент
{
beg=beg->next;//переставить начало списка на следующий элемент
if(beg==0)return 0;//если в списке только один элемент
beg->pred=0;//обнулить адрес предыдущего элемента
delete p;//удалить первый
return beg;//вернуть начало списка
}
//если удаляется элемент из середины списка
for(int i=0;i<k-1&&p!=0;i++,p=p->next);//пройти по списку либо до элемента
с предыдущим номером, либо до конца списка
{
int key;//ключевое поле
point* pred,*next;//адресные поля
};
point*make_list()
{
int n;
cout<<"n-?";cin>>n;
point *p,*r,*beg;
p=new (point);//создать первый элемент
beg=p;//запомнить адрес в переменную beg, в которой хранится начало
списка
cout<<"key-?";cin>>p->key;//заполнить ключевое поле
p->pred=0;p->next=0;//запомнить адресные поля
for(int i=1;i>r->key;//адресное поле
p->next=r;//связать начало списка с r
r->pred=p;//связать r с началом списка
r->next=0;//обнулить последнее адресное поле
p=r;//передвинуть p на последний элемент списка
}
return beg;//вернуть первый элемент списка
}
void print_list(point *beg)
{
if (beg==0)//если список пустой
{
cout<<"The list is empty\n";
return;
}
point*p=beg;
while(p)//пока не конец списка
{
cout<key<<"\t";
p=p->next;//перейти на следующий
}
cout<<"\n";
}
point* del_point(point*beg, int k)
{
point *p=beg;
if(k==0)//удалить первый элемент
{
beg=beg->next;//переставить начало списка на следующий элемент
if(beg==0)return 0;//если в списке только один элемент
beg->pred=0;//обнулить адрес предыдущего элемента
delete p;//удалить первый
return beg;//вернуть начало списка
}
//если удаляется элемент из середины списка
for(int i=0;inext);//пройти по списку либо до элемента
с предыдущим номером, либо до конца списка
Страницы
- « первая
- ‹ предыдущая
- …
- 66
- 67
- 68
- 69
- 70
- …
- следующая ›
- последняя »
