C# 插入排序详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 插入排序详解相关的知识,希望对你有一定的参考价值。

 

 

算法思路

⒈ 从第一个元素开始,该元素可以认为已经被排序
⒉ 取出下一个元素,在已经排序的元素序列中从后向前扫描
⒊ 如果该元素(已排序)大于新元素,将该元素移到下一位置
⒋ 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
⒌ 将新元素插入到下一位置中
⒍ 重复步骤2~5
 
图解
技术分享  
使用插入排序为一列数字进行排序的过程
 
C#代码实现
为了让大家可以直接复制用 我全部贴上

 

private static void InsertSort(List<int> list)
        {
            for (int i = 1; i < list.Count; i++)
            {
                int inservalue = list[i];
                int insertindex = i - 1;
                while (insertindex >= 0 && inservalue < list[insertindex])
                {
                    list[insertindex + 1] = list[insertindex];
                    insertindex--;
                }
                list[insertindex + 1] = inservalue;
            }
        }

 

http://www.cnblogs.com/weiios/p/3933985.html

以上是关于C# 插入排序详解的主要内容,如果未能解决你的问题,请参考以下文章

插入排序详解

插入排序算法详解及代码实现

《C#零基础入门之百识百例》(二十四)数组排序 -- 插入排序

C# 各种内部排序方法的实现(直接插入排序希尔排序冒泡排序快速排序直接选择排序堆排序归并排序基数排序)

C# 各种内部排序方法的实现(直接插入排序希尔排序冒泡排序快速排序直接选择排序堆排序归并排序基数排序)

8种面试经典!排序详解--选择,插入,希尔,冒泡,堆排,3种快排,快排非递归,归并,归并非递归,计数(图+C语言代码+时间复杂度)