Обобщённая проверка массивов на равенство — различия между версиями

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
(Новая страница: «/// <summary> /// Проверяет массивы a, b на равенство и возвращает /// истину, если они равны /// </summar…»)
(нет различий)

Версия 23:12, 12 февраля 2016

/// <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;