我只想创建双链接列表并检查它是否为空。请说出错误。显示的错误是:在函数empty()中,head和tail超出范围。在类Dict中定义为struct时不起作用。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
class node
{ public:
string data;
node* next;
node* prev;
friend class Dict;
};
class Dict
{ public:
bool empty();
Dict();
node* head;
node* tail;
};
Dict::Dict()
{ head=new node;
tail= new node;
head->next=tail;
tail->prev=head;
}
bool empty()
{
return head->next==tail;
}
int main()
{
Dict my_list;
if(my_list.empty())
{cout<<"empty list"<<endl;}
else
{cout<<"Not empty"<<endl;}
}
首先,您没有创建空列表,因为您的构造函数创建了新节点。
在“empty”方法中,您试图引用Dict类中定义的“head”变量
可能的修复:
Dict::Dict()
{
head = tail = null;
}
bool Dict::empty()
{
return head == null;
}
我认为您只需要在类中包含empty方法:
bool Dict::empty()
{
return head->next==tail;
}
我一直试图利用我以前的单链表来创建双向链表。因此,在Node类中,我添加了以前的节点引用,并更新了类中的和方法,以适应在列表类中的来回。将新节点放在当前节点之后,并将新节点放在列表类中当前节点之前;这是因为我想在DoublyLinked中以升序添加和插入我的值列表类。[这可能听起来很混乱,但我会在下面发布代码]当我测试我的方法[在类]我得到一个空指针异常。 正如我所说,我已经为此工作了几天,所以在
我已经获得了创建双链接列表的起始代码。我遇到的问题是实现一个函数,在“head”处插入一个新创建的节点。 链表中的节点是以下结构: 头部插入的代码如下: 现在的问题是,每当我插入一个项时,我应该创建一个具有不同内存地址的新类对象。我在上面所做的更新了相同的内存位置。我需要知道如何创建一个新的类对象。
我试图初始化一个双链接列表,其中包含另一个双链接列表中的虚拟节点(也包含虚拟节点)。例如,学生列表中的一个节点有许多朋友存储在该节点内的链接列表中。这是我的代码: 当我试图编译它时,它告诉我:警告:来自不兼容指针类型的赋值。它出现在我发表评论的台词上。请帮忙^^ 编辑:谢谢鸭嘴兽!
问题内容: 我必须链接两个容器,以便它们可以互相看到。当然以下… …在第1行失败,因为容器需要启动并运行才能成为链接目标: 创建双向链接的最简单方法是什么? 问题答案: Docker 1.10通过引入高级容器网络很好地解决了这一问题。(详细信息:https : //docs.docker.com/engine/userguide/networking/dockernetworks/) 首先,创建一
整个系统的第一条链是由开发团队创建,创建过程和其他区块链系统一样。 其他的链都是通过“创链交易”创建的。 每条链允许创建2条子链,只要条件满足,任何人都可以创建。 第二条和第三条链的创建没有限制,任何人随时可以创建。 后续链的创建,需要满足以下几个条件: 链的平均区块大于300K(近期平均值),避免无限制创建。 需要花费代币,代币量最大为区块奖励的一万倍,平均交易量越大,花费越低。 子链不存在才能
我写了一个程序,通过双链表管理银行账户,但我发现取消程序有问题。 我仍然有同样的问题,即使我尝试了这个方法:-(pnt)-