首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的LinkedList类有什么问题?

我的LinkedList类有什么问题?
EN

Stack Overflow用户
提问于 2010-03-22 14:57:15
回答 6查看 312关注 0票数 3
代码语言:javascript
复制
class LinkedList
{
  private:
    int data;  
    LinkedList *ptr;  
public:
  LinkedList(int i_data)  
  { 
    data = i_data;  
    ptr = 0;  
  }  
  ~LinkedList()  
  {  
    delete ptr ;  
  }  
  void insert(LinkedList *node)  
  {  
    while(this->ptr!= 0)  
    this = this->ptr;  

    this->ptr= node;  
  }  
}

我将创建一个像head = new LinkedList(4)这样的头节点,然后像head->insert(new LinkedList(5))一样调用,然后再调用。你能告诉我上面的类代表一个链表吗?我想是的,它有包含下一个节点地址的节点。如果我说错了,请纠正我

EN

Stack Overflow用户

发布于 2010-03-22 23:08:36

我的问题是,您没有将列表与列表的节点区分开来。

这会导致这样的问题:如果没有空指针,就不能有一个空的列表:

我将创建一个头节点,如head =

LinkedList(4)

  • ,这样我就会有一个链接表类(不需要动态分配)
  • 我会有一个节点类(内部)来保存数据和指向下一个

的指针我会更新接口以获取数据对象(就像描述的Jared Par一样)。

代码:

代码语言:javascript
复制
class LinkedList
{
    struct Node
    {
         Node(int d): data(d) {next = NULL;}
        ~Node()               {delete next;}
        int                   data;
        Node*                 next;
    };

    std::auto_ptr<Node>   head;

    Insert(int data)
    {
        if (head.get() == NULL)
        {
            head.reset(new Node(data));
        }
        else
        {
            Node* loop;
            for(loop = head.get();loop->next != NULL;loop = loop->next) {};
            loop->next = new Node(data);
        }
    }
};

LinkedList   list;
票数 0
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2490450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档