khtndtvt
06-09-2009, 21:13
Mình vừa mới làm quen với C++,mới hiểu sơ sơ về mấy cái thủ tục hàm,vài bài toán đơn giản.Nhưng sang tới DSLK thì hết biết???Mình up đoạn code mình làm,các bạn đọc qua ai biết sai chỗ nào chỉ giúp mình.Thanks a lot!!!
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
typedef int Data ;
typedef struct Node
{
Data Info ;
Node *Next ;
}NODE ;
Data x ;
NODE *pHead = NULL ,*pTail = NULL ;
NODE *GetNode (Data x)
{
NODE *p ;
p = new NODE ;
p ->Info = x;
p ->Next = NULL ;
if (pHead == NULL )
{
pHead = p;
pTail = p;
}
else
{
pTail ->Next = p ;
pTail = pTail ->Next ;
}
return p ;
}
//new_ele = GetNode(x);
Node *new_ele = GetNode(x);
void AddFirst(NODE *new_ele)
{
if (pHead == NULL )
{
pHead = new_ele ;
pHead = pTail ;//Ket thuc danh sach:
}
else
{
new_ele ->Next = pHead ;
pHead = new_ele;
}
}
void Out()
{
NODE *p;
//p = new NODE ;
p = pHead ;
while (p != NULL )
{
printf (" %d",p->Info);
p = p ->Next ;
}
}
void main ()
{
int n ;
NODE *p ;
Data x;
p = new NODE ;
printf ("So danh sach can nhap la: ");
scanf ("%d",&n);
for (p ->Info = 0;p ->Info <n ;p ->Info ++)
{
printf ("Nhap danh sach :");
scanf ("%d",&x);
GetNode (x);
}
printf ("Danh sach vua nhap gom co : \n\n");
Out() ;
printf ("\n");
printf ("Them vao dau danh sach :\n\nNhap phau tu can them : ");
scanf ("%d",&x);
AddFirst(new_ele) ;
printf ("Danh sach sau khi them: ");
Out() ;
getch() ;
}
Mình viết hàm thêm vào đầu của danh sách thấy đúng nhưng không hiểu sao xuất ra không được .Help me!!!
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
typedef int Data ;
typedef struct Node
{
Data Info ;
Node *Next ;
}NODE ;
Data x ;
NODE *pHead = NULL ,*pTail = NULL ;
NODE *GetNode (Data x)
{
NODE *p ;
p = new NODE ;
p ->Info = x;
p ->Next = NULL ;
if (pHead == NULL )
{
pHead = p;
pTail = p;
}
else
{
pTail ->Next = p ;
pTail = pTail ->Next ;
}
return p ;
}
//new_ele = GetNode(x);
Node *new_ele = GetNode(x);
void AddFirst(NODE *new_ele)
{
if (pHead == NULL )
{
pHead = new_ele ;
pHead = pTail ;//Ket thuc danh sach:
}
else
{
new_ele ->Next = pHead ;
pHead = new_ele;
}
}
void Out()
{
NODE *p;
//p = new NODE ;
p = pHead ;
while (p != NULL )
{
printf (" %d",p->Info);
p = p ->Next ;
}
}
void main ()
{
int n ;
NODE *p ;
Data x;
p = new NODE ;
printf ("So danh sach can nhap la: ");
scanf ("%d",&n);
for (p ->Info = 0;p ->Info <n ;p ->Info ++)
{
printf ("Nhap danh sach :");
scanf ("%d",&x);
GetNode (x);
}
printf ("Danh sach vua nhap gom co : \n\n");
Out() ;
printf ("\n");
printf ("Them vao dau danh sach :\n\nNhap phau tu can them : ");
scanf ("%d",&x);
AddFirst(new_ele) ;
printf ("Danh sach sau khi them: ");
Out() ;
getch() ;
}
Mình viết hàm thêm vào đầu của danh sách thấy đúng nhưng không hiểu sao xuất ra không được .Help me!!!