首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

插入排序法-c

2013-01-01 
插入排序法-c#前面介绍了快速排序法,代码简洁,看起来很优美,今天介绍另外一个排序算法--插入排序算法。插入

插入排序法-c#

前面介绍了快速排序法,代码简洁,看起来很优美,今天介绍另外一个排序算法--插入排序算法。

插入排序算法比冒泡算法效率要高一点,但是高不了太多。

下面讲讲这个算法的逻辑

1、第一个元素可以看做是已经排序好的小数组,第二个元素和这个小数组比较,放到合适的位置,组成新的已排序的小组数。

2、第三个元素在和前面组成的新的小数组比较,决定排在什么位置,如此循环,直到结束。

下面用代码演示一下:

public void Sort(int[] data)        {            insertOnSort(data,1);        }        private void insertOnSort(int[] data, int index)        {            if (index < data.Length)            {                int t=data[index];                for (int i = index - 1; i >= 0; i--)                {                    if (data[i] > t)                    {                        data[i + 1] = data[i];                        data[i] = t;                    }                    else                    {                        data[i + 1] = t;                        break;                    }                }                insertOnSort(data, index + 1);            }        }


 

可以看出,代码很简单

热点排行