希尔排序是否适合单链表结构的数据?
普通的插入排序在链表上还是比较好实现的,而希尔排序需要隔一大段距离取下一个数据的指针,如果每次都要逐个遍历效率实在很慢,为什么我看到很多地方都说适合链表的排序有希尔排序?但是我在网上搜链表的希尔排序找到的资料又很少,找到一个实现代码:
http://blog.csdn.net/huhao_bupt/article/details/5389892
可是正如我前面说的,每次都要重新遍历效率太低。
另外,快速排序为什么又不适合单链表结构呢?每次遍历的时候把大于哨兵的元素连成一个子链表,小于哨兵的连成另一个子链表,最后再头尾相连就可以了,这样效率跟数组也差不多,为什么都说不适合呢?