初始化双链表
Initializing double linked list
我一直在写这个代码的双链表,但根据调试工具有一些分割错误。编译良好,但在运行时爆炸。
头文件#ifndef LIST_H_INCLUDED
#define LIST_H_INCLUDED
struct Node
{
int data;
Node* next; //next node
Node* prev; //prev node
};
typedef struct
{
Node* first; //aims to first node
Node* last; //aims to last node
} List;
void initList(List &l);
链表cpp
#include <cstddef>
#include "List.h"
void initList(List &l)
{
l.first->data = -1;
l.first = NULL;
l.first->prev = NULL;
l.last->data = -2;
l.last->next = NULL;
l.last->prev = NULL;
}
主要 #include <iostream>
#include <stdio.h>
#include "List.h"
using namespace std;
int main()
{
List nlist;
initList(nlist);
return 0;
}
谢谢你的回复,我本来期待更多关于这件事的信息,但我设法弄清楚了。此外,我忘了补充,上面发布的代码不是完整的代码(因为它超过100行,我专注于我认为是问题)
分割错误是由if语句引起的,该语句涉及到许多其他函数。
你刚才说的构造函数。
Node* initNode(int data)
{
Node* nNode = new Node;
nNode->data = data;
nNode->next = NULL;
nNode->prev = NULL;
return nNode;
}
和分割故障实际所在的函数。
bool isEmpty(List l)
{
if((l.first->next == NULL) && (l.last->prev == NULL))
{
return true;
}
else
return false;
}
相关文章:
- 如何实现 Front() 方法以返回模板化双向链表C++的第一个元素?
- 类中的静态 constexpr 初始化链
- JNI 不满意链接错误: 动态链接库 (DLL) 初始化例程失败
- 链表指向 NULL,尽管我已经初始化了这个链表
- 使用向量初始化C++中的链表
- 如何使用初始值设定项列表来指导创建链表?
- C :(不重复)积分静态成员初始化(不仅是声明!),导致链接器错误,原因
- 模板链接列表|非初始化的可变误差
- 复制初始化表单 '= {}'
- 为链接列表构建迭代器类(错误:无匹配的构造函数以初始化)
- 如何在类定义中初始化表
- C++ 链表初始化中的分割错误
- C++链表正在初始化
- 初始化两个双向链表C++
- 复制双链表的构造函数,头部初始化问题
- 何时使用外部链接初始化全局常量,避免静态初始化顺序惨败
- 初始化哈希表的 stl 列表动态数组(单独链接)
- 如何初始化节点为矩阵的链表
- 初始化双链表
- 是std::映射表初始化优化