C#插入排序原理講解及代碼塊

1.原理講解
插入排序原理講解

2.代碼塊

    /// <summary>
    /// 直接插入排序算法
    /// </summary>
    public class InsertSortAlgorithm
    {
       static int index = 0;
        /// <summary>
        /// 插入排序
        /// </summary>
        /// <param name="array"></param>
        /// <returns></returns>
        public static int[] InsertSort(int[] array)
        {
            for (int i = 1; i < array.Length; i++)
            {
                int insertVal = array[i];
                int insertIndex = i - 1;
                while (insertIndex >= 0 && insertVal < array[insertIndex])
                {
                    array[insertIndex + 1] = array[insertIndex];
                    insertIndex--;
                    index++;
                }
                array[insertIndex + 1] = insertVal;
                printArray(array);
                Console.WriteLine("第" + (i) + "趟");
            }
            Console.Write("index:" + (index) + "次數");
            return array;
        }
        /// <summary>
        /// 打印數組
        /// </summary>
        /// <param name="array"></param>
        public static void printArray(int[] array)
        {
            if (array == null || array.Length <= 0)
            {
                return;
            }
            for (int i = 0; i < array.Length; i++)
            {
                Console.Write("[" + array[i] + "]" + ",");
            }
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章