创建带头节点的链表时,报错。
运行的时候往链表插值的时候以及打印链表的过程有错误,可能是内存泄漏吧,我也不知道怎么细看
用代码块功能插入代码,请勿粘贴截图
#include<iostream>
using namespace std;
typedef struct LNode{
int data;
struct LNode* next;
}LNode,*LinkList;
//链表初始化
bool InitList(LinkList& L)
{
L = new LNode;
if (L == NULL)
return false;
L->data = 0;
L->next = NULL;
return true;
}
//尾插法建立单链表
LinkList TailInsert(LinkList& L, int x)
{
LNode* r = L;
if (r->next != NULL)
{
r++;
}
LNode* s = new LNode;
s->data = x;
s->next = NULL;
r->next = s;
r = s;
delete s;
return L;
}
void PrintList(const LinkList L)
{
LNode* ret = L;
while (ret)
{
cout << ret->data << " ";
ret++;
}
}
int main()
{
LinkList L;
InitList(L);
bool ret = LinkList(L);
if (ret)
cout << "链表初始化成功!" << endl;
else
cout << "链表初始化失败!" << endl;
for (int i = 1; i < 11; i++)
TailInsert(L, i);
PrintList(L);
return 0;
}