bbs的树状结构算法

jingjavaeye

jingjavaeye

2016-01-29 18:25

bbs的树状结构算法,bbs的树状结构算法
  数据库设计中order_value是用来排序的,具体实现是   
**注意以下的讨论是对一个主题而言,就是对一棵树而言!   
如果加一新贴那么  order_value=0   
如果跟贴查比父贴  order_value大的order_value   
如果有假设为next_value,那么新帖的   
order_value为父贴的(order_value+next_value)/2;   
如果有那么新帖的order_value为父贴的order_value+1000   
也就是说如果对A贴跟贴,如果A为末贴,A的字帖的order_value为order_value(父)+1000,   
不是末贴既找出比A大的order_value,新的order_value为两者的一半!   
排序实现: order by groupid,order_value desc   
**技巧如果想实现层次多一点可以每次加的多一点+100000,那样应该会好一点   

***不足之处:   
1:使用两个字段排序,速度有点慢   
2:使用order_value是一个浮点数,使用float估计不够,还是使用double   
3:只能实现理论上的无穷层实际上超过10层使用float有问题,使用double可能没有   
4:插入是需要查找下一个order_value

Dim ordervalue, nextvalue As Double
sql = "select gorders where gId=" & gId & " and goders " & gorders & " order by goders  "
rs1.Open sql, conn1, adOpenForwardOnly, adLockOptimistic '查询比父贴大的
                                                          order_value
If (rs1.EOF And rs1.BOF) Then
  gorders = gorders + 256
  gLayer = gLayer + 1
Else
  nextvalue = rs1("gorders")
  If (nextvalue - gorders) 1 Then
   gorders = Int((gorders + nextvalue) / 2)
   gLayer = gLayer
  Else
     'gorders,glayer跟回帖一样
End If
End If

End Sub

 
展开更多 50%)
分享

猜你喜欢

bbs的树状结构算法

ASP
bbs的树状结构算法

bbs的树状算法的补充程序

ASP
bbs的树状算法的补充程序

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

用排序串字段实现树状结构(库结构)

ASP
用排序串字段实现树状结构(库结构)

bbs树形结构的实现方法(一)

ASP
bbs树形结构的实现方法(一)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

bbs树形结构的实现方法(三)

ASP
bbs树形结构的实现方法(三)

实现树状结构的两种方法

Web开发
实现树状结构的两种方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《黑暗之魂2 原罪学者》召唤物品获得方法攻略

《黑暗之魂2 原罪学者》召唤物品获得方法攻略

与Office2003共舞:Outlook新功能

与Office2003共舞:Outlook新功能
下拉加载更多内容 ↓