选择排序,插入排序和希尔排序是三种最基本的排序算法。其中选择排序在任何情况下的时间复杂度都是O(n2),
而对于插入排序是把数组分成两部分,有序部分和无序部分,首先从无序部分中取出一个元素然后和有序部分的
元素进行比较,找到合适位置插入,这样无序部分将减少一个元素,相应的有序部分就会对一个元素,最终达到
排序的目的。对与插入排序,在最理想情况下的时间复杂度是O(n),在最坏情况下,就是对已经按从小到大排好的
数组排序为从大到小(或者是相反的情况)下,这样排序的时间复杂度是o(n2)。对与写希尔排序是将插入排序优
化,这样可以提高排序的效率,如果将间距设置为奇数,这样可以把时间复杂度减小为O(N1.5).