Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ InsertionSort()

void System.Array.SorterGenericArray.InsertionSort ( int lo,
int hi )
inlineprivate

Definition at line 405 of file Array.cs.

406 {
407 for (int i = lo; i < hi; i++)
408 {
409 int num = i;
410 object value = keys.GetValue(i + 1);
411 object value2 = items?.GetValue(i + 1);
412 while (num >= lo && comparer.Compare(value, keys.GetValue(num)) < 0)
413 {
414 keys.SetValue(keys.GetValue(num), num + 1);
415 if (items != null)
416 {
417 items.SetValue(items.GetValue(num), num + 1);
418 }
419 num--;
420 }
421 keys.SetValue(value, num + 1);
422 if (items != null)
423 {
424 items.SetValue(value2, num + 1);
425 }
426 }
427 }
object? GetValue(params int[] indices)
Definition Array.cs:980
unsafe void SetValue(object? value, int index)
Definition Array.cs:1022
readonly IComparer comparer
Definition Array.cs:233

References System.Collections.Generic.IComparer< in T >.Compare(), System.Array.SorterGenericArray.comparer, System.Array.GetValue(), System.Array.SorterGenericArray.items, System.Array.SorterGenericArray.keys, System.Array.SetValue(), and System.value.

Referenced by System.Array.SorterGenericArray.IntroSort().