Объектно-ориентированный язык программирования С++ в примерах. Сивохин А.В. - 60 стр.

UptoLike

Составители: 

ent get(); /*-выбрать и удалить элемент*/
void clear(); /*-очистить список; */
/* Конструктор:*/ slist() { last=0; }
/* Конструктор:*/ slist(ent a) { last=new slink(a,0);
last->next=last; }
/* Деструктор: */~slist() { clear(); }
};/*-конец определения циклического односвязного */
/* списка; */
Рассмотрим реализации функций-членов класса slist:
а)включить элемент в начало списка:
int slist::insert(ent a) /*-параметр а определяет указа- */
/* тель на поле данных; */
{ if(last) /*-если список не пуст: */
last->next=new slink(a,last->next);/*-новое звено;*/
else
{ last=new slink(a,0);/*-новое звено без указателя*/
last->next=last; /*-указатель на самого себя;*/
}
return 0;
}
б)добавить элемент в конец списка:
int slist::append(ent a) /*-указатель а определяет указа- */
/* тель на поле данных; */
{ if(last) /*-если список не пуст: */
last=last->next=new slink(a,last->next);
else
{ last=new slink(a,0);/*-новое звено без указателя*/
last->next=last; /*-указатель на самого себя;*/
}
return 0;
}
в)выбрать и удалить первый элемент:
60
                      ent get();             /*-выбрать и удалить элемент*/
                 void clear();           /*-очистить список;         */
/* Конструктор:*/ slist()                { last=0; }
/* Конструктор:*/ slist(ent a) { last=new slink(a,0);
                                          last->next=last;     }
/* Деструктор: */~slist()                { clear(); }
          };/*-конец определения циклического односвязного           */
           /* списка;                                                */
 Рассмотрим реализации функций-членов класса slist:
  а)включить элемент в начало списка:


  int slist::insert(ent a) /*-параметр а определяет указа-           */
                                 /* тель на поле данных;             */
      { if(last) /*-если список не пуст:                             */
            last->next=new slink(a,last->next);/*-новое звено;*/
          else
            { last=new slink(a,0);/*-новое звено без указателя*/
                 last->next=last;         /*-указатель на самого себя;*/
            }
          return 0;
      }


  б)добавить элемент в конец списка:


  int slist::append(ent a) /*-указатель а определяет указа- */
                                 /* тель на поле данных;              */
      { if(last)       /*-если список не пуст:                        */
            last=last->next=new slink(a,last->next);
          else
            { last=new slink(a,0);/*-новое звено без указателя*/
                 last->next=last;         /*-указатель на самого себя;*/
            }
          return 0;
      }


  в)выбрать и удалить первый элемент:


                                    60