合并链接列表与自身

时间:2014-11-10 02:41:12

标签: c++

我完全理解如何将列表合并并排序到另一个列表中。但是,我无法编译将链表合并到自身的简单概念。

说" A"被合并到"这个"名单。 "列表"本身。 所以List1需要合并到自己

我假设这样的事情应该有用......

void LinkedList :: merge(const LinkedList& l){

    l.merge(l)

  }

这是我现在的代码..

  // pre: none
  // post: list l is merged to self.
  void LinkedList :: merge(const LinkedList& l){

    l.merge(l)

  }

 void LinkedList :: appendNode(float val){
    Node *newNode, *nodePtr;
    newNode = new Node;
    newNode->value = val;
    newNode->next = NULL;
    // If there are no nodes in the list
    // make newNode the first node
    if (!head){
        head = newNode;
    }
    else // Otherwise, insert newNode at end
    {
    // Initialize nodePtr to head of list
        nodePtr = head;
    // Find the last node in the list
        while (nodePtr -> next){
            nodePtr = nodePtr -> next;
        }
    // Insert newNode as the last node
        nodePtr -> next = newNode;
    }
}

    // pre: none
    //post: list has been deallocated
    LinkedList :: ~LinkedList()
    {
       Node *nodePtr, *nextNode;
       nodePtr = head;
       while (nodePtr != NULL)
       {
            nextNode = nodePtr->next;
            delete nodePtr;
            nodePtr = nextNode;
        }
    }


  // pre: none
  // post: list values are printed to console.
  void  LinkedList :: displayList(){
    Node *nodePtr;
    nodePtr = head;
    while (nodePtr)
    {
        cout << nodePtr->value << endl;
        nodePtr = nodePtr->next;
    }
 }

0 个答案:

没有答案