C++实现的简单的双向链表的代码

2019-01-25  本文已影响0人  程序猿族

下面的资料是关于C++实现的简单的双向链表的内容。

#include <iostream>

using namespace std;

struct Node

{

  double value;

  Node(double y)

  {

      value = y;

      N = P = NULL;

  }

};

class doubleLinkedList

{

  public:

  doubleLinkedList()

  {  front = NULL; back = NULL; }

  ~doubleLinkedList(){ destroyList();}

  void appendNodeFront(double x);

  void appendNodeBack(double x);

  void dispNodesForward();

  void dispNodesReverse();

  void destroyList();

};

void doubleLinkedList::appendNodeFront(double x)

  {

        if( front == NULL)

        {

            front = n;

            back = n;

        }

        else

        {

            front->P = n;

            n->N = front;

            front = n;

        }

  }

  void doubleLinkedList::appendNodeBack(double x)

  {

        if( back == NULL)

        {

            front = n;

            back = n;

        }

        else

        {

            back->N = n;

            n->P = back;

            back = n;

        }

  }

  void doubleLinkedList::dispNodesForward()

  {

      cout << "nnNodes in forward order:" << endl;

      while(temp != NULL)

      {

        cout << temp->value << "  " ;

        temp = temp->N;

      }

  }

  void doubleLinkedList::dispNodesReverse()

  {

      cout << "nnNodes in reverse order :" << endl;

      while(temp != NULL)

      {

        cout << temp->value << "  " ;

        temp = temp->P;

      }

  }

void doubleLinkedList::destroyList()

{

    while(T != NULL)

    {

        T = T->P;

        delete T2;

    }

    front = NULL;

    back = NULL;

}

int main()

{

    for( int i = 1 ; i < 4 ; i++)

    list->dispNodesForward();

    list->dispNodesReverse();

    for( int i = 1 ; i < 4 ; i++)

    cout << endl << endl;

    list->dispNodesForward();

    list->dispNodesReverse();

    cout << endl << endl;

    delete list;

    return 0;

}

Nodes in forward order:

3.3  2.2  1.1

Nodes in reverse order :

1.1  2.2  3.3

Nodes in forward order:

3.3  2.2  1.1  9.9  8.8  7.7

Nodes in reverse order :

7.7  8.8  9.9  1.1  2.2  3.3

上一篇下一篇

猜你喜欢

热点阅读