请选择 进入手机版 | 继续访问电脑版

EDABOSS电子论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 999|回复: 6

[转帖] 希尔排序算法

[复制链接]

19

主题

1

回帖

310

E币

技术员

Rank: 2

积分
39
发表于 2017-12-15 22:31:44 | 显示全部楼层 |阅读模式
前段时间写skill脚本时发现:当为database按照某一属性排序时,sort系列功能貌似不能很好的工作(大家可以试一下)。所以贴出skill版本的希尔排序算法,需要用的朋友可以看看(反正已经解决了我遇到的问题)。
  1. defun( shell_sort (List);
  2.     v =  listToVector(List)  
  3.          n = length(List)
  4.     gap = 0,
  5.     i = 0,
  6.     j = 0,
  7.     temp = nil;
  8.     gap = n/2
  9.     while(gap > 0
  10.         for(i  gap  n-1
  11.             j = i - gap
  12.             while(j >= 0 && v[j] > v[j+gap]
  13.                 temp = v[j];
  14.                 v[j] = v[j+gap];
  15.                 v[j+gap] = temp;
  16.                 j = j - gap   
  17.             );while
  18.             i++
  19.         );for
  20.         gap = gap/2
  21.     );while
  22.          vlist = vectorToList(v)
  23. );defun
复制代码


积分规则
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|EDABOSS电子论坛

GMT+8, 2023-12-2 16:44 , Processed in 0.051510 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表