とprivate SkipListItem<K, E> posInfinity;
の2つのプロパティを使用して、後でSkipListItemsと比較することができます。 ...後で、その後
private SkipListItem<K, E> negInfinity;
private SkipListItem<K, E> posInfinity;
public SkipListDictionary(K[] keys, E[] elements) {
this.randomGenerator = new Random();
this.negInfinity = new SkipListItem<K, E>();
this.posInfinity = new SkipListItem<K, E>();
this.constructSkipList(keys, elements);
}
そして:ここ
は、私はそれについていった方法です
private SkipListItem<K, E> searchKey(K key) {
SkipListItem<K, E> currentElement = this.lastListStart;
while(currentElement.lower != null) {
currentElement = currentElement.lower;
while(currentElement.next != null && currentElement.next.getItem() != posInfinity &&
currentElement.next.getKey().compareTo(key) < 1) {
currentElement = currentElement.next;
}
}
return currentElement;
}
PS:私はSkipListItem
下を参照するために、上のリストのプロパティreferenceItem
を使用しました建設を容易にするため、SkipListItem
を返すこのgetItem
があるのはこのためです。しかし、これを解決するにはこれが最善の方法だとは思わないが、それは私が行ったことだ。