ВУЗ:
Составители:
Рубрика:
Объектно-ориентированное программирование на С++
throw ListIsEmptyException ();
int key;
// удаление из начала списка (приводит к изменению
// адреса первого элемента списка)
if(pos == 1)
{
help = head;
head = head -> GetPointer();
key = help -> GetValue();
delete help;
return key;
}
// поиск элемента, после которого
// требуется удалить элемент
current = head;
int i = 1;
while(i != pos - 1 && current->GetPointer() != NULL)
{
i++;
current = current -> GetPointer();
}
// генерация исключения для случая
// некорректной позиции удаления
if(current->GetPointer() == NULL)
throw IncorrectPositionException();
// удаление элемента из списка
help = current->GetPointer();
current -> SetPointer(help->GetPointer());
key = help->GetValue();
delete help;
return key;
}
// дружественная функция печати списка
ostream& operator << (ostream& out, List& list)
{
if(list.IsEmpty())
out << "Список пустой" << endl;
else
{
List::Element* current = list.head;
while(current != NULL)
{
out << current -> GetValue() << " ";
current = current -> GetPointer();
}
}
out << endl;
157
Объектно-ориентированное программирование на С++
throw ListIsEmptyException ();
int key;
// удаление из начала списка (приводит к изменению
// адреса первого элемента списка)
if(pos == 1)
{
help = head;
head = head -> GetPointer();
key = help -> GetValue();
delete help;
return key;
}
// поиск элемента, после которого
// требуется удалить элемент
current = head;
int i = 1;
while(i != pos - 1 && current->GetPointer() != NULL)
{
i++;
current = current -> GetPointer();
}
// генерация исключения для случая
// некорректной позиции удаления
if(current->GetPointer() == NULL)
throw IncorrectPositionException();
// удаление элемента из списка
help = current->GetPointer();
current -> SetPointer(help->GetPointer());
key = help->GetValue();
delete help;
return key;
}
// дружественная функция печати списка
ostream& operator << (ostream& out, List& list)
{
if(list.IsEmpty())
out << "Список пустой" << endl;
else
{
List::Element* current = list.head;
while(current != NULL)
{
out << current -> GetValue() << " ";
current = current -> GetPointer();
}
}
out << endl;
157
Страницы
- « первая
- ‹ предыдущая
- …
- 155
- 156
- 157
- 158
- 159
- …
- следующая ›
- последняя »
