zoukankan      html  css  js  c++  java
  • 简单链表的实现

      这里只是一个实现简单功能的链表,意在说明链表的工作原理。举例语言c++。

    简单的工作原理:链表对象,头节点对象,中间节点对象,尾节点对象。链表就是用来存储数据的,

    在进行数据存储的工作时候,用户看到的是链表这个对象,用户把要存储的对象放到链表中,之后的

    工作都是由各个节点来完成的。

      首先数据传到链表中,链表把数据交给头节点处理,头节点根据其指向的地址所处位置进行相应

    处理,比如在链表为空的时候,头节点指向的是尾节点。这个时候头节点把工作交给尾节点来处理,

    尾节点的处理方式就是重新开辟一块空间,把数据存在其中,并让这个空间指向尾节点。因为这条数

    据是在尾节点的前面。如果链表不是空,头节点指向的可能是中间节点。那么接下来的工作就交由

    中间节点来完成的。道理雷同。下面是代码简单说明。

    首先需要定义一个链表的类,这个类中要定义一个指向头节点的指针,还有插入数据的方法。

    //  链表对象

    class LinkedList

    {
    public:
        LinkedList();
        ~LinkedList() { delete myHead; }
        void Insert(Data * theData);  // 插入数据的方法
    private:
        HeadNode * myHead;  // 指向头节点的指针

    };

    // 链表对象的方法实现

    void LinkedList::Insert(Data *pData)
    {
        myHead->Insert(pData);

    }

     // 头节点对象

    class HeadNode : public Node
    {
    public:
        HeadNode();
        ~HeadNode() { delete myNext; }
        virtual Node * Insert(Data * theData);
        virtual void Show() { myNext->Show(); }
    private:
        Node * myNext;
    };

    // 头节点的两个方法实现

    HeadNode::HeadNode()

    {
        myNext = new TailNode;
    }

    Node * HeadNode::Insert(Data *theData)
    {
        myNext = myNext->Insert(theData);
        return this;
    }

  • 相关阅读:
    设计模式之适配器模式温故知新(九)
    设计模式之策略模式总结(八)
    设计模式之观察者模式, 个人感觉相当的重要(七)
    设计模式之抽象工厂模式读后(六)
    设计模式之工厂模式详细读后感TT!(五)
    设计模式之简单工厂模式, 加速(四)
    设计模式之代理模式笔记(三)
    设计模式之单例模式读后思考(二)
    为什么要用设计模式?先看看6大原则(一)
    Codeforces_835
  • 原文地址:https://www.cnblogs.com/sunnystone85/p/1398429.html
Copyright © 2011-2022 走看看