2016-10-23 1 views
-4

Ich habe eine Übung mit verknüpften Listen für meine Klasse. Ich bin ziemlich neu in der Sprache, aber ich habe es versucht. Die Anweisungen sagen uns, dass wir "durchgehen müssen, bis NodeData gefunden wird, und dann die Daten mit den Sets ersetzen". Was sind "die Mengen" in C++? Ich habe online gesucht und konnte nichts finden. Das einzige, was mir einfällt, ist, die Knoten so einzustellen, dass sie woanders hinzeigen. Zum Beispiel head->NULL. Aber ist das wirklich notwendig, wenn ich die Daten einfach ersetze? Um die Daten zu ersetzen, habe ich versucht temp->order = NEWDATA. Ist das die richtige Umsetzung? Es schien nicht zu funktionieren. Vielleicht war es ein Fehler in einem anderen Teil des Codes.Wie werden Daten in einem bestimmten Knoten in einer verknüpften Liste ersetzt?

bool OrderLL::Modify(Order * NodeData) { 
    OrderNode *temp = head; 
    if (temp == NULL) { 
     cout << "Empty List"; 
    } 
    else { 
     while (temp != NULL) { 
      if (temp->order == NodeData) { 

       //not sure if this is the proper way of deleting data inside a node 
       delete anOrder; 
       //HOW DO I REPLACE THE DATA IN THIS PART? 
      } 
      temp = temp->next; 
     } 
    } 

return false; 
} 

Auf einer Seite beachten, ich verstehe wirklich nicht, warum ich downvotes auf alle meine Fragen weiter zu empfangen. Liegt es daran, dass es sich um grundlegende C++ - Fragen handelt? Sie sind nicht so grundlegend für mich. Ich weiß, dass diese Website auf "Offtopic/Chat-Diskussionen" schaut, aber ich verstehe einfach nicht, was mit meinen Fragen falsch ist.

+0

Es gibt keine solche Sache wie "die Sätze". Ordnen Sie einfach node-> data = newnod-> data zu. Ich kann nicht mehr erzählen, ohne die Struktur zu sehen. – DeiDei

+0

Quoten sind Sie haben eine "Setter" Mutator-Funktion, aber keine Möglichkeit, sicher zu sein, ohne mehr Kontext. – user4581301

+0

@DeiDei Kopiert das nicht einfach Daten von einem Knoten in einen neuen Knoten? – Jaden

Antwort

1

Sie haben "replace" in Ihrer Frage erwähnt, also nehmen Sie nur eine Vermutung, aber möglicherweise wird erwartet, dass Sie den Knoten selbst und nicht nur die Daten ersetzen. In diesem Fall wird es so ähnlich sein

if(curr_node->data == to_replace_data){ 
    curr_node->next = new_node; 
    new_node->next = curr_node->next->next; 
    free(curr_node->next); //or return curr_node->next depending on what 
         // you are trying to do. 
} 
Verwandte Themen