// Copyright (c) 1998-1999 Matra Datavision // Copyright (c) 1999-2014 OPEN CASCADE SAS // // This file is part of Open CASCADE Technology software library. // // This library is free software; you can redistribute it and / or modify it // under the terms of the GNU Lesser General Public version 2.1 as published // by the Free Software Foundation, with special exception defined in the file // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT // distribution for complete text of the license and disclaimer of any warranty. // // Alternatively, this file may be used under the terms of Open CASCADE // commercial license or contractual agreement. // SortTools_StraightInsertionSort.gxx // cree le 04/11/91 par ASI // Reference : Software Conponents with ADA, Grady Booch. void SortTools_StraightInsertionSort::Sort(Array& TheArray, const Comparator& Comp) { Item TempItem; Standard_Integer J; for(Standard_Integer I = TheArray.Lower() + 1; I <= TheArray.Upper(); I++) { TempItem = TheArray(I); J = I; while (Comp.IsLower(TempItem, TheArray(J - 1))) { TheArray(J) = TheArray(J - 1); J = J - 1; if (J == TheArray.Lower()) break; } TheArray(J) = TempItem; } }