30/09/2018, 23:29
Lỗi potential uninitiazed local pointer variable 'q' used!
{
#include<iostream>
using namespace std;
struct NODE
{
int data;
NODE *next;
};
struct LIST
{
NODE *head;
NODE *tail;
};
void Init(LIST &l)
{
l.head = l.tail = NULL;
}
bool isEmpty(LIST l)
{
if (l.head == NULL)
return true;
return false;
}
NODE* createNode(int data)
{
NODE *p = new NODE;
p->data = data;
p->next = NULL;
return p;
}
void addLast(LIST &l, int data)
{
NODE *p = createNode(data);
if (isEmpty(l))
{
l.head = l.tail = p;
}
else
{
l.tail->next = p;
l.tail = p;
}
}
void Input(LIST &l)
{
int n;
cout << "Ban muon nhap bao nhiu Node:";
cin >> n;
Init(l);
for (int i = 0; i < n; i++)
{
int x;
cout << "Nhap vao data:";
cin >> x;
NODE *p = createNode(x);
addLast(l, x);
}
}
void Output(LIST l)
{
for (NODE *p = l.head; p != NULL; p = p->next)
{
cout << p->data << " ";
}
}
void insertInLinkedList(NODE **head, int data, int position)
{
int k = 1;
NODE *q, *p, *newNode;
newNode = new NODE;
if (!newNode)
{
cout << "memory error";
return;
}
newNode->data = data;
p = *head;
if (position == 1)
{
newNode->next = p;
*head = newNode;
}
else
{
while ((p != NULL) && (k < position))
{
k++;
q = p;
p = p->next;
}
q->next = newNode;
newNode->next = p;
}
}
void delNode(LIST &l)
{
NODE *p;
while (l.head != NULL)
{
p = l.head;
l.head = l.head->next;
delete p;
}
}
int main()
{
NODE *head = NULL;
LIST l;
Input(l);
Output(l);
insertInLinkedList(&head, 3, 2);
Output(l);
return 0;
}
Em không biết lỗi chỗ nào anh chị giúp em fix lỗi này với , em cảm ơn !
Bài liên quan
Sửa dòng trên