Читайте также:
|
|
Метод Insert добавляет новый элемент в конец списка и увеличивает длину на 1. Если при этом превышается размер массива listiem, то метод выводит сообщение об ошибке и завершает программу. Ограничение на размер списка снимается в главе 9, класс реализуется с использованием связанного списка.
5 3 22 45 23 8
вставка(10) 5 3 22 45 23 8 10
Элемент Delete определяет первое появление в списке заданного элемента. Функция требует, чтобы был определён оператор сравнения (==) для DataType. В некоторых случаях для этого может потребоваться, чтобы пользователь предоставил особую функцию, переопределяет оператор == для конкретного DataType. Эта тема формально излагается в главе 6. Если элемент не обнаруживается при индексе i, операция спокойно заканчивается без изменения списка. Если элемент найден, он удаляется из списка перемещением всех элементов с индексами i+1 к концу списка влево на одну позицию.
…
0 1 i i+1 i+2 i+3
…
Например, удаление элемента со значением 45 из списка приведёт к смещению влево хвостовых элементов 23 и 8. Длина списка изменяется с 6 на 5. Удаление элемента со значением 30 оставляет список неизменным.
5 3 22 45 23 8
5 3 22 23 8
Delete
// поиск и удаление элемента item из списка
void SeqList:: Delete (const DataType& item)
{
int i = 0;
// поиск элемента
while (i < size &&! (item = = listitem[ i ]))
i++;
if (i < size)
{
// передвинуть хвост списка на одну позицию влево
while (i < size-1)
{
listitem [ i ] = listitem [ i + 1];
i ++;
}
size--; // уменьшение size на 1
}
}
Методы доступа к списку. Метод GetData возвращает значение данных в позицию pos в списке. Если pos не находится в диапазоне от 0 до size-1, печатается сообщение об ошибке, и программа завершается.
// возвращает значение элемента списка для индекса pos. если pos
// не находится в диапазоне индексов списка, программа заканчивается
// с сообщением об ошибке
Дата добавления: 2015-07-15; просмотров: 71 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Вычеркнули Добавили | | | DataType SeqList : : GetData ( int pos ) const |