Wie würde ich die Anzahl der Schlüssel zurückgeben, die kleiner als der angegebene Schlüssel ist? Ich weiß einfach nicht, wo ich anfangen soll. Ich habe die Startbasis aber anders als das ich weiß nicht, woRang für Symboltabelle
public class LinkedListST<Key extends Comparable<Key>, Value> {
private Node first; // the linked list of key-value pairs
// a helper linked list data type
private class Node {
private Key key;
private Value val;
private Node next;
public Node(Key key, Value val, Node next) {
this.key = key;
this.val = val;
this.next = next;
}
}
public int rank (Key key) {
if(key == null) return 0;
//TODO
}
EDIT beginnen: Das ist, was ich bisher haben aber meine for-Schleife ist falsch und gibt mir Fehler
public int rank (Key key) {
int count = 0;
for(Node x = first; x != null; x = x.next){
if(x.next < key){
count++;
}
return count;
}
}
Wie Sie in meiner Antwort zu sehen, ich habe 'X.KEY
Ihre '{}' sind zum Beispiel nicht am richtigen Ort. Sie kehren in jedem Loop-Durchgang zurück. – AJNeufeld
Perusing ['Comparable'] (https://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html) wird Ihnen auch bei der korrekten Methode helfen,' Comparable' Objekte zu vergleichen. Hinweis: Es ist nicht '<'. – AJNeufeld