Перемещение по списку
Когда у вас есть список, вы можете легко выполнять поиск в нем конкретной записи. В Примере 8.9 показана функция, которая находит первый счет с конкретной суммой и возвращает указатель на него.
function FindCheckByAmount(AnAmount: Real): PCheck; var Check: PCheck; begin TempCheck := ListOfChecks; { указывает на первую запись } while (Check^.Amount <> AnAmount) and (Check^.Next <> nil) do Check := Check^.Next; if Check^.Amount = AnAmount then FindCheckByAmount := Check { возвращает указатель на найденную запись } else FindCheckByAmount := nil; { или nil, если таких записей нет } end;
Рис. 8.9 Поиск в связанном списке.