|
前段时间写skill脚本时发现:当为database按照某一属性排序时,sort系列功能貌似不能很好的工作(大家可以试一下)。所以贴出skill版本的希尔排序算法,需要用的朋友可以看看(反正已经解决了我遇到的问题)。- defun( shell_sort (List);
- v = listToVector(List)
- n = length(List)
- gap = 0,
- i = 0,
- j = 0,
- temp = nil;
- gap = n/2
- while(gap > 0
- for(i gap n-1
- j = i - gap
- while(j >= 0 && v[j] > v[j+gap]
- temp = v[j];
- v[j] = v[j+gap];
- v[j+gap] = temp;
- j = j - gap
- );while
- i++
- );for
- gap = gap/2
- );while
- vlist = vectorToList(v)
- );defun
复制代码
|
|