File: SortTools_StraightInsertionSort.gxx

package info (click to toggle)
opencascade 6.2-7
  • links: PTS
  • area: non-free
  • in suites: lenny
  • size: 444,652 kB
  • ctags: 256,750
  • sloc: cpp: 1,150,123; ansic: 225,762; tcl: 30,130; makefile: 12,619; sh: 7,958; xml: 3,981; lisp: 283; java: 212; csh: 203; perl: 15
file content (26 lines) | stat: -rw-r--r-- 581 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 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;
  }
}