Private Sub SortVariantMatrixRows2ndSample()
'See also:
' SortVariantMatrixRowsSample Subroutine
' SortVariantMatrixRows Function
Const NumRows = 4096
Const MinCols = 2
Const MaxCols = 10
'' Create a variant matrix containing some random numbers.
Dim intCols As Integer
For intCols = MinCols To MaxCols Step 2
Debug.Print "Columns = " & intCols
Dim avarMatrix() As Variant
ReDim avarMatrix(0 To intCols, 0 To NumRows)
Dim avarKeys() As Variant
ReDim avarKeys(0 To 2)
Dim lngRow As Long
For lngRow = LBound(avarMatrix, 2) To UBound(avarMatrix, 2)
Dim intCol As Integer
For intCol = LBound(avarMatrix, 1) To UBound(avarMatrix, 1)
avarMatrix(intCol, lngRow) = RandomDoubleWithinRange(0, 100)
Next intCol
Next lngRow
avarKeys(1) = 1
avarKeys(2) = 2
Debug.Print "SortVariantMatrix (Rnd) to (1,2):"
DebugTimerOn
SortVariantMatrixRows avarMatrix, Null, avarKeys, False
Debug.Print DebugTimerOff
avarKeys(1) = 1
avarKeys(2) = 2
Debug.Print "SortVariantMatrix (1,2) to (1,2):"
DebugTimerOn
SortVariantMatrixRows avarMatrix, Null, avarKeys, False
Debug.Print DebugTimerOff
avarKeys(1) = 2
avarKeys(2) = 1
Debug.Print "SortVariantMatrix (1,2) to (2,1):"
DebugTimerOn
SortVariantMatrixRows avarMatrix, Null, avarKeys, False
Debug.Print DebugTimerOff
avarKeys(1) = 2
avarKeys(2) = 1
Debug.Print "SortVariantMatrix (2,1) to (2,1):"
DebugTimerOn
SortVariantMatrixRows avarMatrix, Null, avarKeys, False
Debug.Print DebugTimerOff
avarKeys(1) = 1
avarKeys(2) = 2
Debug.Print "SortVariantMatrix (2,1) to (1,2):"
DebugTimerOn
SortVariantMatrixRows avarMatrix, Null, avarKeys, False
Debug.Print DebugTimerOff
Next intCols
End SubCopyright 1996-1999 Entisoft
Entisoft Tools is a trademark of Entisoft.