Shell Sort方法告诉我们,只要依序按照固定间隔部份排序,就可以完成排序。例如先按5步间隔排序以下列表:
我的问题是在这固定间隔的部份排序,如何实现?譬如写个 part_sort/3 ,当 part_sort([11,10,9,8,7,6,5,4,3,2,1], 5, SortedList) 时, SortedList = [1,5,4,3,2,6,10,9,8,7,11] 。
- 代码:
%以下为未排序列表,5步间隔规则需排序[11,6,1],[10,5],[9,4],[8,3],[7,2]等子列表
[11,10,9,8,7,6,5,4,3,2,1]
%以下为5步间隔部份排序列表
[1,5,4,3,2,6,10,9,8,7,11]
我的问题是在这固定间隔的部份排序,如何实现?譬如写个 part_sort/3 ,当 part_sort([11,10,9,8,7,6,5,4,3,2,1], 5, SortedList) 时, SortedList = [1,5,4,3,2,6,10,9,8,7,11] 。