C# Class SIL.Utils.MergeSort

MergeSort - a stable sort for .Net Mostly a translation of the C++ mergesort from Robert Sedgewick's Algorithms in C++, 1st edition This implementations supports Arrays and ArrayLists. Because of .Net limitations primitive arrays (example: int [] array = new int[10000];) cannot be sorted by this code.
Inheritance: IFWDisposable
显示文件 Open project: sillsdev/FieldWorks Class Usage Examples

Public Methods

Method Description
CheckDisposed ( ) : void

Check to see if the object has been disposed. All public Properties and Methods should call this before doing anything else.

Dispose ( ) : void

Must not be virtual.

Sort ( Array &array ) : void

Sort an array using the default comparer

Sort ( Array &array, System compare ) : void

Sort an array using the specified comparer

Sort ( System &array ) : void

Sort an ArrayList using the default comparer

Sort ( System &array, System compare ) : void

Sort an ArrayList using the specified comparer

Protected Methods

Method Description
Dispose ( bool disposing ) : void

Executes in two distinct scenarios. 1. If disposing is true, the method has been called directly or indirectly by a user's code via the Dispose method. Both managed and unmanaged resources can be disposed. 2. If disposing is false, the method has been called by the runtime from inside the finalizer and you should not reference (access) other managed objects, as they already have been garbage collected. Only unmanaged resources can be disposed.

If any exceptions are thrown, that is fine. If the method is being done in a finalizer, it will be ignored. If it is thrown by client code calling Dispose, it needs to be handled by fixing the bug. If subclasses override this method, they should call the base implementation.

InternalSort ( Array &primary, int left, int right, System compare ) : void

The actual implementation

InternalSort ( System &primary, int left, int right, System compare ) : void

The actual implementation

MergeSort ( ) : System

Make one

Method Details

CheckDisposed() public method

Check to see if the object has been disposed. All public Properties and Methods should call this before doing anything else.
public CheckDisposed ( ) : void
return void

Dispose() public method

Must not be virtual.
public Dispose ( ) : void
return void

Dispose() protected method

Executes in two distinct scenarios. 1. If disposing is true, the method has been called directly or indirectly by a user's code via the Dispose method. Both managed and unmanaged resources can be disposed. 2. If disposing is false, the method has been called by the runtime from inside the finalizer and you should not reference (access) other managed objects, as they already have been garbage collected. Only unmanaged resources can be disposed.
If any exceptions are thrown, that is fine. If the method is being done in a finalizer, it will be ignored. If it is thrown by client code calling Dispose, it needs to be handled by fixing the bug. If subclasses override this method, they should call the base implementation.
protected Dispose ( bool disposing ) : void
disposing bool
return void

InternalSort() protected method

The actual implementation
protected InternalSort ( Array &primary, int left, int right, System compare ) : void
primary System.Array
left int
right int
compare System
return void

InternalSort() protected method

The actual implementation
protected InternalSort ( System &primary, int left, int right, System compare ) : void
primary System
left int
right int
compare System
return void

MergeSort() protected method

Make one
protected MergeSort ( ) : System
return System

Sort() public static method

Sort an array using the default comparer
public static Sort ( Array &array ) : void
array System.Array array to be sorted
return void

Sort() public static method

Sort an array using the specified comparer
public static Sort ( Array &array, System compare ) : void
array System.Array array to be sorted
compare System comparer to use for sorting
return void

Sort() public static method

Sort an ArrayList using the default comparer
public static Sort ( System &array ) : void
array System ArrayList to sort
return void

Sort() public static method

Sort an ArrayList using the specified comparer
public static Sort ( System &array, System compare ) : void
array System ArrayList to sort
compare System Comparer to used for sorting
return void