Mình cần một bạn chuyển code của nhập xuật về danh sách liên kết đơn trong C thành C++ cho mình cám ơn bạn nhiêu
[
Mã:
#include <stdio.h>#include <conio.h>
struct Node
{
int Data;
struct Node *pNext;
};
typedef struct Node NODE;
struct List
{
NODE *pHead;
NODE *pTail;
};
typedef struct List LIST;
void Init(LIST &l)
{
l.pHead = l.pTail = NULL;
}
NODE* GetNODE(int x)
{
NODE *p = new NODE;
if(p == NULL)
{
return NULL;
}
p->Data = x;
p->pNext = NULL;
return p;
}
void AddHead(LIST &l,NODE *p)
{
if(l.pHead == NULL)
{
l.pHead = l.pTail = p;
}
else
{
p ->pNext = l.pHead;
l.pHead = p;
}
}
void InPut(LIST &l,int n)
{
Init(l);
for(int i = 1; i <= n; i++)
{
int x;
printf("\nNhap vào data: ");
scanf("%d", &x);
NODE *p = GetNODE(x);
AddHead(l, p);
}
}
void OutPut(LIST l)
{
for(NODE *p = l.pHead; p != NULL; p = p ->pNext)
{
printf("%4d",p ->Data);
}
}
int main()
{
LIST l;
int n;
printf("\nBan mu?n nh?p bao nhiêu Node: ");
scanf("%d", &n);
InPut(l,n);
OutPut(l);
}
[
Mã:
#include <stdio.h>#include <conio.h>
struct Node
{
int Data;
struct Node *pNext;
};
typedef struct Node NODE;
struct List
{
NODE *pHead;
NODE *pTail;
};
typedef struct List LIST;
void Init(LIST &l)
{
l.pHead = l.pTail = NULL;
}
NODE* GetNODE(int x)
{
NODE *p = new NODE;
if(p == NULL)
{
return NULL;
}
p->Data = x;
p->pNext = NULL;
return p;
}
void AddHead(LIST &l,NODE *p)
{
if(l.pHead == NULL)
{
l.pHead = l.pTail = p;
}
else
{
p ->pNext = l.pHead;
l.pHead = p;
}
}
void InPut(LIST &l,int n)
{
Init(l);
for(int i = 1; i <= n; i++)
{
int x;
printf("\nNhap vào data: ");
scanf("%d", &x);
NODE *p = GetNODE(x);
AddHead(l, p);
}
}
void OutPut(LIST l)
{
for(NODE *p = l.pHead; p != NULL; p = p ->pNext)
{
printf("%4d",p ->Data);
}
}
int main()
{
LIST l;
int n;
printf("\nBan mu?n nh?p bao nhiêu Node: ");
scanf("%d", &n);
InPut(l,n);
OutPut(l);
}