Обобщённая проверка массивов на равенство
Материал из Вики ИТ мехмата ЮФУ
Версия от 23:12, 12 февраля 2016; Ulysses (обсуждение | вклад) (Новая страница: «/// <summary> /// Проверяет массивы a, b на равенство и возвращает /// истину, если они равны /// </summar…»)
/// <summary> /// Проверяет массивы a, b на равенство и возвращает /// истину, если они равны /// </summary> /// <param name="a">Первый массив</param> /// <param name="b">Второй массив</param> /// <returns>Истину, если содержимое массивов равно</returns> function ArrsAreEqual<T>(a, b: array of T): boolean; begin
Assert(a <> nil, 'ArrsAreEqual: a <> nil'); Assert(b <> nil, 'ArrsAreEqual: b <> nil'); // сравниваем длины Result := a.Length = b.Length; if Result then begin // здесь result is true var i := 0; while (i < a.Length) and (a[i] = b[i]) do i += 1; if i < a.Length then Result := false; end;
end;