I need help trying to print a reverse linked list, I tried to print the link list in reverse order but my code prints it in the correct order instead of reversing the items, I think that my reverse function works correctly but the print function is the one that fails.
struct Node {
  ItemType value;
  Node* next;
};
class LinkedList {
 private:
  Node* head;
 public:
  void LinkedList::reverseList() {
    // Initialize current, previous and
    // next pointers
    Node* p = head;
    Node *prev = nullptr, *next = nullptr;
    while (head != nullptr) {
      // Store next
      next = head->next;
      // Reverse current node's pointer
      head->next = prev;
      // Move pointers one position ahead.
      prev = head;
      head = next;
    }
    head = prev;
  }
  // Prints the LinkedList in reverse order
  void LinkedList::printReverse() const {
    Node* p;
    p = head;
    while (p != nullptr) {
      cout << p->value << endl;
      p = p->next;
    }
    p = p->next;
  }
  for (int i = n - 1; i >= 0; i--) {
    cout << arr[i] << " " << endl;
  }
  cout << endl;
}
}
Aucun commentaire:
Enregistrer un commentaire