30/09/2018, 18:40

Anh chị sửa lỗi giúp em lỗi nhập và xuất trong danh sách liên kết kép c++

mn giúp em với ạ, tks

#include"iostream"
using namespace std;
class node{
	private:
		node *pNext,*pPrev;
		int data;
friend class list;
};
class list{
	private:
		node *pHead,*pTail;
	public:
		void Init(list &l);
		node *getnode(int x);
		void addTail(list &l,node *p);
		void addHead(list &l,node *p);
		void nhap(list &l);
		void xuat(list l);
};
void list::Init(list &l)
{
	l.pTail=l.pHead=NULL;
}
node* list::getnode(int x)
{
	node *p;
	p=new node;
	if(p==NULL)
	{
		return NULL;
	}
	else
	{
		p->pNext=NULL;
		p->data=x;
		p->pPrev=NULL;
		return p;
	}
}
void list::addHead(list &l, node *p)
{
	if(l.pHead==NULL)
	   l.pHead=l.pTail=p;
	else
	{
		p->pNext=l.pHead;
		l.pHead->pPrev=p;
		l.pHead=p;
	}
}
void list::nhap(list &l)
{
	node *p;
	int x,n;
	cout<<"
 nhap so phan tu cua day so: ";
	cin>>n;
	Init(l);
	for(int i=1;i<=n;i++)
	{
		cout<<"
 nhap phan tu thu "<<i<<" ";
		cin>>x;
		l.getnode(x);
		l.addHead(l,p);
	}
} 
void list::xuat(list l) //xuat danh sach
{
   for(node *k=l.pHead;k;k=k->pNext)
   	   cout<<k->data<<"	";
}
int main()
{
	list l;
	l.nhap(l);
	l.xuat(l);
}
Gió viết 20:46 ngày 30/09/2018

Class node private=> public

long viết 20:52 ngày 30/09/2018

ko đc anh ơi, em vừa thử rồi @Gio

Thang Hoang Ngoc viết 20:50 ngày 30/09/2018

bạn ko nên dùng fiend , hay~ dùng get , set , bài code này y hệt như lúc mình mới chuyển từ struct sang class vây

long viết 20:43 ngày 30/09/2018

nghĩa là sao hả anh 0.o , a có thể ns rõ zùm em k ạ , cái chỗ dùng get set ý ạ . tks, @Thang_Hoang_Ngoc

Bài liên quan
0