File tree Expand file tree Collapse file tree 1 file changed +10
-4
lines changed Expand file tree Collapse file tree 1 file changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -731,19 +731,25 @@ public virtual void SelectionSort()
731
731
var currentNode = _firstNode ;
732
732
while ( currentNode != null )
733
733
{
734
+ var minNode = currentNode ;
734
735
var nextNode = currentNode . Next ;
735
736
while ( nextNode != null )
736
737
{
737
- if ( nextNode . Data . IsLessThan ( currentNode . Data ) )
738
+ if ( nextNode . Data . IsLessThan ( minNode . Data ) )
738
739
{
739
- var temp = nextNode . Data ;
740
- nextNode . Data = currentNode . Data ;
741
- currentNode . Data = temp ;
740
+ minNode = nextNode ;
742
741
}
743
742
744
743
nextNode = nextNode . Next ;
745
744
}
746
745
746
+ if ( minNode != currentNode )
747
+ {
748
+ var temp = minNode . Data ;
749
+ minNode . Data = currentNode . Data ;
750
+ currentNode . Data = temp ;
751
+ }
752
+
747
753
currentNode = currentNode . Next ;
748
754
}
749
755
}
You can’t perform that action at this time.
0 commit comments