排序(Sorting)是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为按关键字“有序”的记录序列。如何进行排序,特别是高效率地进行排序时计算机工作者学习和研究的重要课题之一。排序有内部排序和外部排序之分,若整个排序过程不需要访问外存便能完成,则称此类排序为内部排序,反之则为外部排序。本篇主要介绍插入排序、交换排序、选择排序和归并排序这几种内部排序方法。
首先,我们今天的目标就是编写一个SortingHelper类,它是一个提供了多种排序方法的帮助类,后面我们的目标就是实现其中的各种排序静态方法:
public static class SortingHelper<T> where T : IComparable { public static void StraightInsertSort(T[] arr) { } public static void ShellSort(T[] arr) { } public static void BubbleSort(T[] arr) { } public static void QuickSort(T[] arr) { } public static void SimpleSelectSort(T[] arr) { } public static void HeapSort(T[] arr) { } public static void MergeSort(T[] arr) { } }