Читайте также:
|
|
{
// прервать программу, если pos вне диапазона индексов списка
if (pos < 0 | | pos >= size)
{
cerr << “pos выходит за диапазон индексов!” << endl;
exit (1);
{
return listitem [ pos ];
}
метод доступа Find принимает параметр, который служит в качестве ключа, и последовательно просматривает список для нахождения совпадения. Если список пустой или совпадение не найдено, Find возвращает 0 (False). Если элемент обнаруживается в списке в позиции с индексом i, Find присваивает запись из listitem [ i ] соответствующему элементу списка и возвращает 1 (True).
Для данных, совпадающих с ключом, процесс присваивания значения данных элемента списка параметру является важнейшим в приложениях, касающихся записей данных. Например, предположим, что DataType – это структура с полем ключа и полем значения, и что оператор == тестирует только поле ключа. При вводе элемент параметра может определять только поле ключа. При выводе элемент присваивается обоим полям.
ключ значение ключ значение
элемент (ввод) элемент (вывод)
ключ значение … ключ значение … ключ значение
совпадение
Find
// использовать item в качестве ключа для поиска в списке.
// возвращать True, если элемент item находится в списке, и
// False – в противно случае. если элемент найден, присвоить
// его значение параметру item, передаваемому по ссылке
int SeqList:: Find (DataType& item) const
{
int i = 0;
if (ListEmpty ())
return 0; // возвратить False, если список пуст
while (i < size &&! (item = = listitem [ i ]))
i ++;
if (i < size)
{
item = listitem [ i ]; // присвоить item значение элемента списка
return 1; // возвратить True
}
else
return 0; // возвратить False
}
Класс SeqList не предоставляет метода для непосредственного изменения мы должны сначала найти этот элемент и возвратить запись данных, удалить этот элемент, изменить запись и вставить новые данные в список. Конечно, это изменяет положение элемента в списке, потому что новый элемент помещается в конец списка.
Дата добавления: 2015-07-15; просмотров: 79 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Методы модификации списка | | | Программа 4.2. Видеомагазин |