30/09/2018, 20:47
Danh Sách Liên Kết Đơn và Tập Tin
File text của mình:
8
5 8 12 38 3 7 10 40
Mình mới học về dánh sách liên kết nên chưa rành lắm.Code này mình muốn lưu và in ra danh sách.Nhưng mà mình làm chỉ in ra được số 5 hi vọng có thể giúp mình chỗ sai.
struct node
{
int Data;
node *pNext;
};
struct List
{
node *pHead;
node *pTail;
};
node* CreateNode(int *a, int n)
{
node *p = new node; //Cap phat dong
if (p == NULL)
{
return NULL;
}
p->Data = *a; //Truyen phan tu vao node
p->pNext = NULL; //Chưa gắn vào DSLK
return p; //*/
}
void InsertTail(List &list, int *a, int n)
{
node *p = CreateNode(a, n); //*/
if (p == NULL)
{
cout << "Khong tao duoc nut ";
exit(1);
}
if (list.pHead == NULL)
list.pHead = list.pTail = p; //Khi pHead rỗng thì node trở thành vị trí đầu
else
{
list.pTail->pNext = p; //pHead ko rỗng thì cho phần tử node trỏ tới đầu
list.pTail = p; //vị trí đầu gán lại cho phần tử node.
}
}
void ReadFile(List &list, int a[], int &n)
{
ifstream fp("list.txt");
fp >> n;
for (int i = 0; i < n; i++)
{
fp >> a[i];
InsertTail(list, a, n);
}
}
Bài liên quan
This post was flagged by the community and is temporarily hidden.
bạn thử check lại cái chỗ insert coi có đúng ko ?
p -> next = list -> tail
list -> head = p