File tree Expand file tree Collapse file tree 4 files changed +27
-37
lines changed
tests/Advanced.Algorithms.Tests Expand file tree Collapse file tree 4 files changed +27
-37
lines changed Original file line number Diff line number Diff line change 11<Project Sdk =" Microsoft.NET.Sdk" >
22
33 <PropertyGroup >
4- <TargetFrameworks >net45 ;netstandard1.0</TargetFrameworks >
4+ <TargetFrameworks >net461 ;netstandard1.0</TargetFrameworks >
55 <RootNamespace >Advanced.Algorithms</RootNamespace >
66 <GenerateAssemblyInfo >false</GenerateAssemblyInfo >
77 <SignAssembly >True</SignAssembly >
Original file line number Diff line number Diff line change @@ -79,32 +79,26 @@ private void bulkInit(T[] initial)
7979
8080 private void bulkInitRecursive ( int i , T [ ] initial )
8181 {
82- while ( true )
83- {
84- var parent = i ;
85-
86- var left = 2 * i + 1 ;
87- var right = 2 * i + 2 ;
88-
89- var minMax = left < initial . Length && right < initial . Length ?
90- comparer . Compare ( initial [ left ] , initial [ right ] ) < 0 ? left : right
91- : left < initial . Length ? left
92- : right < initial . Length ? right : - 1 ;
82+ var parent = i ;
9383
94- if ( minMax != - 1 && comparer . Compare ( initial [ minMax ] , initial [ parent ] ) < 0 )
95- {
96- var temp = initial [ minMax ] ;
97- initial [ minMax ] = initial [ parent ] ;
98- initial [ parent ] = temp ;
84+ var left = 2 * i + 1 ;
85+ var right = 2 * i + 2 ;
9986
100- //drill down to child
101- i = minMax ;
102- continue ;
103- }
87+ var minMax = left < initial . Length && right < initial . Length ?
88+ comparer . Compare ( initial [ left ] , initial [ right ] ) < 0 ? left : right
89+ : left < initial . Length ? left
90+ : right < initial . Length ? right : - 1 ;
10491
92+ if ( minMax != - 1 && comparer . Compare ( initial [ minMax ] , initial [ parent ] ) < 0 )
93+ {
94+ var temp = initial [ minMax ] ;
95+ initial [ minMax ] = initial [ parent ] ;
96+ initial [ parent ] = temp ;
10597
106- break ;
98+ //if min is child then drill down child
99+ bulkInitRecursive ( minMax , initial ) ;
107100 }
101+
108102 }
109103
110104 /// <summary>
Original file line number Diff line number Diff line change @@ -78,23 +78,18 @@ private void bulkInit(T[] initial)
7878 /// </summary>
7979 private void bulkInitRecursive ( int i , T [ ] initial )
8080 {
81- while ( true )
82- {
83- var parent = i ;
84- var minMax = findMinMaxChildIndex ( i , initial ) ;
85-
86- if ( minMax != - 1 && comparer . Compare ( initial [ minMax ] , initial [ parent ] ) < 0 )
87- {
88- var temp = initial [ minMax ] ;
89- initial [ minMax ] = initial [ parent ] ;
90- initial [ parent ] = temp ;
81+ var parent = i ;
82+ var minMax = findMinMaxChildIndex ( i , initial ) ;
9183
92- i = minMax ;
93- continue ;
94- }
84+ if ( minMax != - 1 && comparer . Compare ( initial [ minMax ] , initial [ parent ] ) < 0 )
85+ {
86+ var temp = initial [ minMax ] ;
87+ initial [ minMax ] = initial [ parent ] ;
88+ initial [ parent ] = temp ;
9589
96- break ;
90+ bulkInitRecursive ( minMax , initial ) ;
9791 }
92+
9893 }
9994
10095
Original file line number Diff line number Diff line change 88 <AppDesignerFolder >Properties</AppDesignerFolder >
99 <RootNamespace >Advanced.Algorithms.Tests</RootNamespace >
1010 <AssemblyName >Advanced.Algorithms.Tests</AssemblyName >
11- <TargetFrameworkVersion >v4.5 .1</TargetFrameworkVersion >
11+ <TargetFrameworkVersion >v4.6 .1</TargetFrameworkVersion >
1212 <FileAlignment >512</FileAlignment >
1313 <ProjectTypeGuids >{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids >
1414 <VisualStudioVersion Condition =" '$(VisualStudioVersion)' == ''" >10.0</VisualStudioVersion >
1515 <VSToolsPath Condition =" '$(VSToolsPath)' == ''" >$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath >
1616 <ReferencePath >$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath >
1717 <IsCodedUITest >False</IsCodedUITest >
1818 <TestProjectType >UnitTest</TestProjectType >
19+ <TargetFrameworkProfile />
1920 </PropertyGroup >
2021 <PropertyGroup Condition =" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " >
2122 <DebugSymbols >true</DebugSymbols >
You can’t perform that action at this time.
0 commit comments