Ich versuche, einen String-Knoten in eine verknüpfte Liste einzufügen und zu sortieren. Das Problem, das ich habe, ist mit der Linie while((curr != null) && (str > curr.Data))
. Ich erhalte den Fehler "Der Operator < kann nicht auf Operanden vom Typ 'string' und 'string' angewendet werden." Ich verstehe diesen Fehler nicht, da die Funktion mit == funktioniert und auch in dem Fall, dass es sich um Ints und nicht um Strings handelt. Ich habe versucht, str.CompareTo(currData)
zu verwenden, aber das erzeugt einen ähnlichen Fehler. Wenn mir jemand erklären könnte warum dieser Fehler erzeugt und möglicherweise was ich tun kann, um es zu umgehen, wäre das großartig.String in eine verknüpfte Liste einfügen und sortieren
private Node head = null; // initially nothing in the list
private int count = 0;
public void InsertSorted(string str)
{
Node newNode = new Node(str);
Node previous = null;
Node curr = head;
while((curr != null) && (str > curr.Data))
{
previous = curr;
curr = curr.Next;
}
if(previous == null)
{
newNode.Next = curr;
head = newNode;
}
else
{
newNode.Next = curr;
previous.Next = newNode;
}
}
Ah, ich wusste nicht, dass das der Fall war. Ich danke dir sehr; Das hat meinen Fehler gelöst. – crin
Ich muss nicht oft String-Vergleiche machen. Ich hätte es vermutlich zuerst versucht. –