Math.NET Numerics
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

411 lines
19 KiB

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Sorting - Math.NET Numerics Documentation</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link type="text/css" rel="stylesheet" href="../main.css"/>
<script type="text/javascript" src="../js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="../js/jquery.scrollTo-min.js"></script>
<script type="text/javascript" src="../js/navigation.js"></script>
<script type="text/javascript" src="../js/example.js"></script>
</head>
<body><div id="namespaces">
<h2 class="fixed">Namespaces</h2>
<div class="scroll">
<ul>
<li>
<a href="../MathNet.Numerics/index.htm" class="current">MathNet.Numerics</a>
</li>
<li>
<a href="../MathNet.Numerics.Differentiation/index.htm">MathNet.Numerics.Differentiation</a>
</li>
<li>
<a href="../MathNet.Numerics.Distributions/index.htm">MathNet.Numerics.Distributions</a>
</li>
<li>
<a href="../MathNet.Numerics.Financial/index.htm">MathNet.Numerics.Financial</a>
</li>
<li>
<a href="../MathNet.Numerics.IntegralTransforms/index.htm">MathNet.Numerics.IntegralTransforms</a>
</li>
<li>
<a href="../MathNet.Numerics.Integration/index.htm">MathNet.Numerics.Integration</a>
</li>
<li>
<a href="../MathNet.Numerics.Interpolation/index.htm">MathNet.Numerics.Interpolation</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra/index.htm">MathNet.Numerics.LinearAlgebra</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Complex/index.htm">MathNet.Numerics.LinearAlgebra.Complex</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Complex.Solvers/index.htm">MathNet.Numerics.LinearAlgebra.Complex.Solvers</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Complex32/index.htm">MathNet.Numerics.LinearAlgebra.Complex32</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Complex32.Solvers/index.htm">MathNet.Numerics.LinearAlgebra.Complex32.Solvers</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Double/index.htm">MathNet.Numerics.LinearAlgebra.Double</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Double.Solvers/index.htm">MathNet.Numerics.LinearAlgebra.Double.Solvers</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Factorization/index.htm">MathNet.Numerics.LinearAlgebra.Factorization</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Single/index.htm">MathNet.Numerics.LinearAlgebra.Single</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Single.Solvers/index.htm">MathNet.Numerics.LinearAlgebra.Single.Solvers</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Solvers/index.htm">MathNet.Numerics.LinearAlgebra.Solvers</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Storage/index.htm">MathNet.Numerics.LinearAlgebra.Storage</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearRegression/index.htm">MathNet.Numerics.LinearRegression</a>
</li>
<li>
<a href="../MathNet.Numerics.OdeSolvers/index.htm">MathNet.Numerics.OdeSolvers</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/index.htm">MathNet.Numerics.Optimization</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization.LineSearch/index.htm">MathNet.Numerics.Optimization.LineSearch</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization.ObjectiveFunctions/index.htm">MathNet.Numerics.Optimization.ObjectiveFunctions</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization.TrustRegion/index.htm">MathNet.Numerics.Optimization.TrustRegion</a>
</li>
<li>
<a href="../MathNet.Numerics.Providers/index.htm">MathNet.Numerics.Providers</a>
</li>
<li>
<a href="../MathNet.Numerics.Providers.FourierTransform/index.htm">MathNet.Numerics.Providers.FourierTransform</a>
</li>
<li>
<a href="../MathNet.Numerics.Providers.LinearAlgebra/index.htm">MathNet.Numerics.Providers.LinearAlgebra</a>
</li>
<li>
<a href="../MathNet.Numerics.Providers.SparseSolver/index.htm">MathNet.Numerics.Providers.SparseSolver</a>
</li>
<li>
<a href="../MathNet.Numerics.Random/index.htm">MathNet.Numerics.Random</a>
</li>
<li>
<a href="../MathNet.Numerics.RootFinding/index.htm">MathNet.Numerics.RootFinding</a>
</li>
<li>
<a href="../MathNet.Numerics.Statistics/index.htm">MathNet.Numerics.Statistics</a>
</li>
<li>
<a href="../MathNet.Numerics.Statistics.Mcmc/index.htm">MathNet.Numerics.Statistics.Mcmc</a>
</li>
</ul>
</div>
</div><div id="types">
<h2 class="fixed">Types in MathNet.Numerics</h2>
<div class="scroll">
<ul>
<li>
<a href="../MathNet.Numerics/AppSwitches.htm">AppSwitches</a>
</li>
<li>
<a href="../MathNet.Numerics/Combinatorics.htm">Combinatorics</a>
</li>
<li>
<a href="../MathNet.Numerics/Complex32.htm">Complex32</a>
</li>
<li>
<a href="../MathNet.Numerics/ComplexExtensions.htm">ComplexExtensions</a>
</li>
<li>
<a href="../MathNet.Numerics/Constants.htm">Constants</a>
</li>
<li>
<a href="../MathNet.Numerics/ContourIntegrate.htm">ContourIntegrate</a>
</li>
<li>
<a href="../MathNet.Numerics/Control.htm">Control</a>
</li>
<li>
<a href="../MathNet.Numerics/Differentiate.htm">Differentiate</a>
</li>
<li>
<a href="../MathNet.Numerics/DifferIntegrate.htm">DifferIntegrate</a>
</li>
<li>
<a href="../MathNet.Numerics/Distance.htm">Distance</a>
</li>
<li>
<a href="../MathNet.Numerics/Euclid.htm">Euclid</a>
</li>
<li>
<a href="../MathNet.Numerics/ExcelFunctions.htm">ExcelFunctions</a>
</li>
<li>
<a href="../MathNet.Numerics/FindMinimum.htm">FindMinimum</a>
</li>
<li>
<a href="../MathNet.Numerics/FindRoots.htm">FindRoots</a>
</li>
<li>
<a href="../MathNet.Numerics/Fit.htm">Fit</a>
</li>
<li>
<a href="../MathNet.Numerics/Generate.htm">Generate</a>
</li>
<li>
<a href="../MathNet.Numerics/GoodnessOfFit.htm">GoodnessOfFit</a>
</li>
<li>
<a href="../MathNet.Numerics/Integrate.htm">Integrate</a>
</li>
<li>
<a href="../MathNet.Numerics/Interpolate.htm">Interpolate</a>
</li>
<li>
<a href="../MathNet.Numerics/InvalidParameterException.htm">InvalidParameterException</a>
</li>
<li>
<a href="../MathNet.Numerics/IPrecisionSupport`1.htm">IPrecisionSupport&lt;T&gt;</a>
</li>
<li>
<a href="../MathNet.Numerics/MemoryAllocationException.htm">MemoryAllocationException</a>
</li>
<li>
<a href="../MathNet.Numerics/NativeInterfaceException.htm">NativeInterfaceException</a>
</li>
<li>
<a href="../MathNet.Numerics/NonConvergenceException.htm">NonConvergenceException</a>
</li>
<li>
<a href="../MathNet.Numerics/NumericalBreakdownException.htm">NumericalBreakdownException</a>
</li>
<li>
<a href="../MathNet.Numerics/Permutation.htm">Permutation</a>
</li>
<li>
<a href="../MathNet.Numerics/Polynomial.htm">Polynomial</a>
</li>
<li>
<a href="../MathNet.Numerics/Precision.htm">Precision</a>
</li>
<li>
<a href="../MathNet.Numerics/Series.htm">Series</a>
</li>
<li>
<a href="../MathNet.Numerics/SingularUMatrixException.htm">SingularUMatrixException</a>
</li>
<li>
<a href="../MathNet.Numerics/Sorting.htm" class="current">Sorting</a>
</li>
<li>
<a href="../MathNet.Numerics/SpecialFunctions.htm">SpecialFunctions</a>
</li>
<li>
<a href="../MathNet.Numerics/TestFunctions.htm">TestFunctions</a>
</li>
<li>
<a href="../MathNet.Numerics/Trig.htm">Trig</a>
</li>
<li>
<a href="../MathNet.Numerics/Window.htm">Window</a>
</li>
</ul>
</div>
</div>
<div class="header">
<p class="class"><strong>Type</strong> Sorting</p>
<p><strong>Namespace</strong> MathNet.Numerics</p>
</div>
<div class="sub-header">
<div id="summary">Sorting algorithms for single, tuple and triple lists.
</div>
<h3 class="section">Static Functions</h3>
<ul>
<li><a href="../MathNet.Numerics/Sorting.htm#Sort``1">Sort&lt;T&gt;</a></li>
<li><a href="../MathNet.Numerics/Sorting.htm#Sort``1">Sort&lt;T&gt;</a></li>
<li><a href="../MathNet.Numerics/Sorting.htm#Sort``2">Sort&lt;TKey, TItem&gt;</a></li>
<li><a href="../MathNet.Numerics/Sorting.htm#Sort``2">Sort&lt;TKey, TItem&gt;</a></li>
<li><a href="../MathNet.Numerics/Sorting.htm#Sort``3">Sort&lt;TKey, TItem1, TItem2&gt;</a></li>
<li><a href="../MathNet.Numerics/Sorting.htm#Sort``3">Sort&lt;TKey, TItem1, TItem2&gt;</a></li>
<li><a href="../MathNet.Numerics/Sorting.htm#SortAll``2">SortAll&lt;T1, T2&gt;</a></li>
</ul>
</div>
<h3 class="section">Public Static Functions</h3>
<div id="Sort``1" class="method">
<h4><span title="System.void">void</span> <strong>Sort&lt;T&gt;</strong>(<span title="System.Collections.Generic.IList<T>">IList&lt;T&gt;</span> keys, <span title="System.Collections.Generic.IComparer<T>">IComparer&lt;T&gt;</span> comparer)</h4>
<div class="content">Sort a list of keys, in place using the quick sort algorithm using the quick sort algorithm.
<div class="parameters">
<h5>Parameters</h5>
<h6><code><span title="System.Collections.Generic.IList<T>">IList&lt;T&gt;</span></code> keys</h6>
<p class="comments">List to sort. </p>
<h6><code><span title="System.Collections.Generic.IComparer<T>">IComparer&lt;T&gt;</span></code> comparer</h6>
<p class="comments">Comparison, defining the sort order. </p>
</div>
</div>
</div>
<div id="Sort``1" class="method">
<h4><span title="System.void">void</span> <strong>Sort&lt;T&gt;</strong>(<span title="System.Collections.Generic.IList<T>">IList&lt;T&gt;</span> keys, <span title="System.int">int</span> index, <span title="System.int">int</span> count, <span title="System.Collections.Generic.IComparer<T>">IComparer&lt;T&gt;</span> comparer)</h4>
<div class="content">Sort a range of a list of keys, in place using the quick sort algorithm.
<div class="parameters">
<h5>Parameters</h5>
<h6><code><span title="System.Collections.Generic.IList<T>">IList&lt;T&gt;</span></code> keys</h6>
<p class="comments">List to sort. </p>
<h6><code><span title="System.int">int</span></code> index</h6>
<p class="comments">The zero-based starting index of the range to sort. </p>
<h6><code><span title="System.int">int</span></code> count</h6>
<p class="comments">The length of the range to sort. </p>
<h6><code><span title="System.Collections.Generic.IComparer<T>">IComparer&lt;T&gt;</span></code> comparer</h6>
<p class="comments">Comparison, defining the sort order. </p>
</div>
</div>
</div>
<div id="Sort``2" class="method">
<h4><span title="System.void">void</span> <strong>Sort&lt;TKey, TItem&gt;</strong>(<span title="System.Collections.Generic.IList<TKey>">IList&lt;TKey&gt;</span> keys, <span title="System.Collections.Generic.IList<TItem>">IList&lt;TItem&gt;</span> items, <span title="System.Collections.Generic.IComparer<TKey>">IComparer&lt;TKey&gt;</span> comparer)</h4>
<div class="content">Sort a list of keys and items with respect to the keys, in place using the quick sort algorithm.
<div class="parameters">
<h5>Parameters</h5>
<h6><code><span title="System.Collections.Generic.IList<TKey>">IList&lt;TKey&gt;</span></code> keys</h6>
<p class="comments">List to sort. </p>
<h6><code><span title="System.Collections.Generic.IList<TItem>">IList&lt;TItem&gt;</span></code> items</h6>
<p class="comments">List to permute the same way as the key list. </p>
<h6><code><span title="System.Collections.Generic.IComparer<TKey>">IComparer&lt;TKey&gt;</span></code> comparer</h6>
<p class="comments">Comparison, defining the sort order. </p>
</div>
</div>
</div>
<div id="Sort``2" class="method">
<h4><span title="System.void">void</span> <strong>Sort&lt;TKey, TItem&gt;</strong>(<span title="System.Collections.Generic.IList<TKey>">IList&lt;TKey&gt;</span> keys, <span title="System.Collections.Generic.IList<TItem>">IList&lt;TItem&gt;</span> items, <span title="System.int">int</span> index, <span title="System.int">int</span> count, <span title="System.Collections.Generic.IComparer<TKey>">IComparer&lt;TKey&gt;</span> comparer)</h4>
<div class="content">Sort a list of keys and items with respect to the keys, in place using the quick sort algorithm.
<div class="parameters">
<h5>Parameters</h5>
<h6><code><span title="System.Collections.Generic.IList<TKey>">IList&lt;TKey&gt;</span></code> keys</h6>
<p class="comments">List to sort. </p>
<h6><code><span title="System.Collections.Generic.IList<TItem>">IList&lt;TItem&gt;</span></code> items</h6>
<p class="comments">List to permute the same way as the key list. </p>
<h6><code><span title="System.int">int</span></code> index</h6>
<p class="comments">The zero-based starting index of the range to sort. </p>
<h6><code><span title="System.int">int</span></code> count</h6>
<p class="comments">The length of the range to sort. </p>
<h6><code><span title="System.Collections.Generic.IComparer<TKey>">IComparer&lt;TKey&gt;</span></code> comparer</h6>
<p class="comments">Comparison, defining the sort order. </p>
</div>
</div>
</div>
<div id="Sort``3" class="method">
<h4><span title="System.void">void</span> <strong>Sort&lt;TKey, TItem1, TItem2&gt;</strong>(<span title="System.Collections.Generic.IList<TKey>">IList&lt;TKey&gt;</span> keys, <span title="System.Collections.Generic.IList<TItem1>">IList&lt;TItem1&gt;</span> items1, <span title="System.Collections.Generic.IList<TItem2>">IList&lt;TItem2&gt;</span> items2, <span title="System.Collections.Generic.IComparer<TKey>">IComparer&lt;TKey&gt;</span> comparer)</h4>
<div class="content">Sort a list of keys, items1 and items2 with respect to the keys, in place using the quick sort algorithm.
<div class="parameters">
<h5>Parameters</h5>
<h6><code><span title="System.Collections.Generic.IList<TKey>">IList&lt;TKey&gt;</span></code> keys</h6>
<p class="comments">List to sort. </p>
<h6><code><span title="System.Collections.Generic.IList<TItem1>">IList&lt;TItem1&gt;</span></code> items1</h6>
<p class="comments">First list to permute the same way as the key list. </p>
<h6><code><span title="System.Collections.Generic.IList<TItem2>">IList&lt;TItem2&gt;</span></code> items2</h6>
<p class="comments">Second list to permute the same way as the key list. </p>
<h6><code><span title="System.Collections.Generic.IComparer<TKey>">IComparer&lt;TKey&gt;</span></code> comparer</h6>
<p class="comments">Comparison, defining the sort order. </p>
</div>
</div>
</div>
<div id="Sort``3" class="method">
<h4><span title="System.void">void</span> <strong>Sort&lt;TKey, TItem1, TItem2&gt;</strong>(<span title="System.Collections.Generic.IList<TKey>">IList&lt;TKey&gt;</span> keys, <span title="System.Collections.Generic.IList<TItem1>">IList&lt;TItem1&gt;</span> items1, <span title="System.Collections.Generic.IList<TItem2>">IList&lt;TItem2&gt;</span> items2, <span title="System.int">int</span> index, <span title="System.int">int</span> count, <span title="System.Collections.Generic.IComparer<TKey>">IComparer&lt;TKey&gt;</span> comparer)</h4>
<div class="content">Sort a list of keys, items1 and items2 with respect to the keys, in place using the quick sort algorithm.
<div class="parameters">
<h5>Parameters</h5>
<h6><code><span title="System.Collections.Generic.IList<TKey>">IList&lt;TKey&gt;</span></code> keys</h6>
<p class="comments">List to sort. </p>
<h6><code><span title="System.Collections.Generic.IList<TItem1>">IList&lt;TItem1&gt;</span></code> items1</h6>
<p class="comments">First list to permute the same way as the key list. </p>
<h6><code><span title="System.Collections.Generic.IList<TItem2>">IList&lt;TItem2&gt;</span></code> items2</h6>
<p class="comments">Second list to permute the same way as the key list. </p>
<h6><code><span title="System.int">int</span></code> index</h6>
<p class="comments">The zero-based starting index of the range to sort. </p>
<h6><code><span title="System.int">int</span></code> count</h6>
<p class="comments">The length of the range to sort. </p>
<h6><code><span title="System.Collections.Generic.IComparer<TKey>">IComparer&lt;TKey&gt;</span></code> comparer</h6>
<p class="comments">Comparison, defining the sort order. </p>
</div>
</div>
</div>
<div id="SortAll``2" class="method">
<h4><span title="System.void">void</span> <strong>SortAll&lt;T1, T2&gt;</strong>(<span title="System.Collections.Generic.IList<T1>">IList&lt;T1&gt;</span> primary, <span title="System.Collections.Generic.IList<T2>">IList&lt;T2&gt;</span> secondary, <span title="System.Collections.Generic.IComparer<T1>">IComparer&lt;T1&gt;</span> primaryComparer, <span title="System.Collections.Generic.IComparer<T2>">IComparer&lt;T2&gt;</span> secondaryComparer)</h4>
<div class="content">Sort a list of keys and items with respect to the keys, in place using the quick sort algorithm.
<div class="parameters">
<h5>Parameters</h5>
<h6><code><span title="System.Collections.Generic.IList<T1>">IList&lt;T1&gt;</span></code> primary</h6>
<p class="comments">List to sort. </p>
<h6><code><span title="System.Collections.Generic.IList<T2>">IList&lt;T2&gt;</span></code> secondary</h6>
<p class="comments">List to sort on duplicate primary items, and permute the same way as the key list. </p>
<h6><code><span title="System.Collections.Generic.IComparer<T1>">IComparer&lt;T1&gt;</span></code> primaryComparer</h6>
<p class="comments">Comparison, defining the primary sort order. </p>
<h6><code><span title="System.Collections.Generic.IComparer<T2>">IComparer&lt;T2&gt;</span></code> secondaryComparer</h6>
<p class="comments">Comparison, defining the secondary sort order. </p>
</div>
</div>
</div>
<div id="footer">
<p>Based on v5.0.0.0 of MathNet.Numerics (Math.NET Numerics)</p>
<p>Generated by <a href="http://docu.jagregory.com">docu</a></p>
</div>
</body>
</html>