1、冒泡排序
      冒泡排序是最慢的排序算法。在实际运用中它是效率最低的算法。它通过一趟又一趟地比较数组中的每一个元素,使较大的数据下沉,较小的数据上升。它是O(n^2)的算法。
2、插入排序
      插入排序通过把序列中的值插入一个已经排序好的序列中,直到该序列的结束。
3、Shell排序
      Shell排序通过将数据分成不同的组,先对每一组进行排序,然后再对所有的元素进行一次插入排序,以减少数据交换和移动的次数。平均效率是O(nlogn)。

 

冒泡排序C#实现:

    /// <summary>
    /// 冒泡排序
    /// </summary>
    public class BubbleSort : ISort
    {
        public int[] Sort(int[] array)
        {
            if (array != null)
            {
                for (int i = 0; i < array.Length; i++)
                {
                    for (int j = 1; j < array.Length - i; j++)
                    {
                        Swap(ref array[j - 1], ref array[j]);
                    }
                }
            }
            return array;
        }

        public static void Swap(ref int int1, ref int int2)
        {
            if (int1 > int2)
            {
                int temp = int1;
                int1 = int2;
                int2 = temp;
            }
        }
    }
冒泡排序

相关文章: