本文整理汇总了Golang中github.com/timtadh/data-structures/types.Hashable.Equals方法的典型用法代码示例。如果您正苦于以下问题:Golang Hashable.Equals方法的具体用法?Golang Hashable.Equals怎么用?Golang Hashable.Equals使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/timtadh/data-structures/types.Hashable
的用法示例。
在下文中一共展示了Hashable.Equals方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Find
func (s *Sorted) Find(item types.Hashable) (int, bool, error) {
var l int = 0
var r int = s.Size() - 1
var m int
for l <= r {
m = ((r - l) >> 1) + l
im, err := s.list.Get(m)
if err != nil {
return -1, false, err
}
if item.Less(im) {
r = m - 1
} else if item.Equals(im) {
for j := m; j > 0; j-- {
ij_1, err := s.list.Get(j - 1)
if err != nil {
return -1, false, err
}
if !item.Equals(ij_1) {
return j, true, nil
}
}
return 0, true, nil
} else {
l = m + 1
}
}
return l, false, nil
}
示例2: find
func (self *BpNode) find(key types.Hashable) (int, bool) {
var l int = 0
var r int = len(self.keys) - 1
var m int
for l <= r {
m = ((r - l) >> 1) + l
if key.Less(self.keys[m]) {
r = m - 1
} else if key.Equals(self.keys[m]) {
for j := m; j >= 0; j-- {
if j == 0 || !key.Equals(self.keys[j-1]) {
return j, true
}
}
} else {
l = m + 1
}
}
return l, false
}