美文网首页
C++实现的简单的双向链表的代码

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

作者: 程序猿族 | 来源:发表于2019-01-25 09:07 被阅读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

相关文章

  • C++实现双向循环链表

    本次博文是关于利用C++模板的方式实现的双向循环链表以及双向循环链表的基本操作,在之前的博文C++语言实现双向链表...

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

    下面的资料是关于C++实现的简单的双向链表的内容。 #include using namespace std; s...

  • C++语言实现双向链表

    这篇文章是关于利用C++模板的方式实现的双向链表以及双向链表的基本操作,在之前的博文C语言实现双向链表中,已经给大...

  • 数据结构之双向链表

    1.双向链表 1.1双向链表创建示意图 分析 双向链表的遍历,添加,修改,删除的操作思路===》代码实现: 遍历 ...

  • 容器(2) - LinkedList

    LinkedList 基本实现 LinkedList 类似 C/C++ 的双向链表,这种链表中任意一个存储单元都可...

  • java实现单向循环链表

    链表图解 带头结点的链表: 不带头结点的链表: 区别 带头结点的链表容易代码实现不带头结点的容易实现循环链表和双向...

  • 模拟题 05 LRU缓存机制

    题目描述 实现数据结构哈希 + 双向链表 代码

  • C的双向链表实现

    最近写了链表的实现。先贴代码。 (代码是在linux gcc下编译,有可能和vs上编译有差别) 1,双向链表的实现:

  • 9.双向链表DoubleLinkList

    目录:1.双向链表的定义2.双向链表的图解3.双向链表定义操作4.双向链表的实现 1.双向链表的定义 2.双向链表...

  • 双向链表python实现

    python 双向链表实现 双向链表实现 链表头部添加 链表尾部添加 插入 删除 查询结点

网友评论

      本文标题:C++实现的简单的双向链表的代码

      本文链接:https://www.haomeiwen.com/subject/ceapjqtx.html