30/09/2018, 20:10
Nhờ Fix lỗi chương trình tạo danh sách liên kết đơn!
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream>
// 1.Khai bao du lieu kieu du lieu danh sach lien ket don
struct Node
{
int data;
struct Node *Next;
};
typedef struct node NODE;
struct List
{
NODE *pHead;
NODE *pTail;
};
typedef struct List LIST;
// 2. Khoi tao danh sach lien ket don!
void Init(LIST &l)
{
l.pHead=l.pTail=NULL;
}
/*
// Khoi tao theo cu phap C thuan tuy .
void Init( LIST *l)
{
l->pHead=l->pTail=NULL;
}*/
// 3. Tao node trong danh sach
NODE* GetNode(int x) // x chinh la du lieu dua vao data.
{ // cap phat 1 node
NODE *p =new NODE; //cap phat theo cau truc C++.
/*
or NODE *p;
p=(NODE*)malloc(sizeof(NODE);
*/
//kiem tra bo nho con trong hay khong ?
if(p==NULL)
return NULL;
p->data =x; // Luu bien x vao data .
p->Next =NULL; // Khoi tao moi lien ket .
return p;
}
// 4. Them node vao danh sach
// 4.1 Them vao dau :
// Them node p vao dau danh sach
void AddHead(LIST &l,NODE *p)
{
if(l.pHead==NULL) // Tuc danh sach bi rong !
l.pHead=l.pTail=p;
else
{
p->pNext=l.pHead; //p quang day de tham gia vao danh sach
l.pHead=p; // p chinh thuc tham gia vao danh sach.
}
}
// Them node P vao cuoi danh sach
void AddTail(LIST &l,NODE *p)
{
if(l.pHead==NULL)
l.pHead=l.pTail=p;
else
{
l.pTail->pNext=p; // l.pTail quang day noi voi p
l.pTail=p;
}
}
// 5. Nhap du lieu cho danh sach
void InPut(LIST &l)
{
int n;
printf("
Ban muon nhap bao nhieu Node !");
sanf("%d",&n);
Init(l); // Khoi tao danh sach.
for(int i=1;i<=n;i++)
{
// Moi vong lap la ta nhap 1 Node
int x;
printf("
Nhap vao data:");
sanf("%d",&x);
NODE *p =GetNode(x); // Dua data vao Node p ,tao ra node p
AddTail(l,p); //Them Node p vao cuoi danh sach.
}
}
void OutPut(LIST l)
{
//for(int i=0;i<n;i++) day la doi voi mang
for(NODE *p = l.Head;p!=NULL;p=p->pNext)
{
printf("%4d",p->data);
}
}
int main()
{
LIST l;
InPut(l);
OutPut(l);
getch();
return 0;
}
Bài liên quan
Bạn đưa code vô hết cho đúng định dạng. Nửa trên nửa dưới khó đọc quá.hehe. Và cụ thể là bạn bị lỗi gì. Ví dụ: chạy không được hay chạy nhưng sai kết quả
http://codepad.org/vwONRgxP
check giúp e cái :v
Lâu rồi không code lại c/c++ nên lơ mơ. Code của bạn về phần giải thuật thì không sai. Chỉ sai một số lỗi cú pháp đơn giản thôi. Bạn nên chạy thử, debug đọc từng lỗi để hiểu cách làm việc và cách fix các lỗi này.
``
Anh Hightlight những chỗ lỗi cú pháp giúp e cái đc hok ạ .tks ạ
:Phj e fix được lỗi rồi ,tất cả chỉ là quên chữ p dầu pHead ,pNext @@, cảm ơn a nhiều