Chào các anh/chị, anh/chị cho em hỏi là em muốn thêm 1 phần tử(Node) vào cuối danh sách và 1 phần tử vào đầu danh sách liên kết thì newNode->link=l.First thì link ở đây là link của newNode hay link của l.First vậy ạ? Tương tự với thêm phần tử newNode vào cuối danh sách l.Last->link=newNode; thì link ở đây là link của l.Last hay link của newNode
Em cám ơn!
#include <stdio.h>
// Hàm khai báo dữ liệu 1 phần tử trong DSLK
struct Node
{
int data;
Node *link;
};
//Hàm khai báo một DSLK có phần tử đầu là First và phần tử cuối là Last
typedef struct List
{
Node *First,*Last;
};
//----------------------------
// Hàm khởi tạo giá trị cho phần tử đầu và cuối của danh sách
void Init(List &l)
{
l.First=l.Last=NULL;
}
//----------------------------
// Hàm tạo 1 Node trong DSLK
Node *getNode(int x)
{
//Node *p;
//p=new Node;
Node *p=new Node;
if(p==NULL)
return NULL;
p->data=x;
p->link=NULL;
return p;
}
//----------------------------
// Hàm thêm 1 phần tử vào đầu danh sách
void addFirst(List &l,Node *newNode)
{
if(l.First==NULL) //ds rong
l.First=l.Last=newNode;
else //ds khong rong
{
newNode->link=l.First;
l.First=newNode;
}
}
//Hàm thên 1 phần tử cào cuối danh sách
void addLast(List &l,Node *newNode)
{
if(l.First==NULL) //ds rong
l.First=l.Last=newNode;
else //ds khong rong
{
l.Last->link=newNode;
l.Last=newNode;
}
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?