mình làm bài này nhưng không hiểu sao mỗi khi nhập giá trị cho null dầu đều bị gán giá trị = 1 và không thực hiện được lệnh xóa null cuối cùng
mọi người giúp mình với
cho mình thank trước

Mã nguồn PHP:
#include<iostream.h> #include<conio.h> #include<stdio.h> // khai bao 1 node struct node { int info; node *next; }; typedef node *ds; //tao 1 node ds taonode (int a) { ds p=new node ; p->next=NULL; p->info=a; return p; } //cong them 1 node vao dau ds ds add_first(ds &p, int a){ ds p1=taonode(a); if(p1==NULL) return NULL; p1->next=p; p=p1; return p; } //cong them 1 node vao cuoi ds ds add_last (ds &p,int a) { ds p1=taonode (a); if (p1==NULL) return NULL; if (p==NULL) { p=p1; return p1; } ds pt=p; while (pt->next!=NULL) pt=pt->next; pt->next=p1; return p; } //in ra man hinh ds void inds (ds p) { while (p->next!=NULL) { p=p->next; cout<<p->info<<"->"; } cout<<" NULL

"
; } //xoa 1 node o dau ds ds xoadau (ds p) { ds p1; p1=p; p=p->next; delete p1; return p; } ds xoa_cuoi(ds p){ ds q; if(p==NULL) return NULL; else if((p->info!=0)&&(p->next==NULL)) xoadau(p); while(p->next!=NULL) { q=p; q=q->next; } q->next=NULL; delete p; return q; } //tim kiem phan tu x trong day void timkiem (ds p) { int x; cout<<"
nhap phan tu x="
; cin>>x; ds p1=p; while ((p1->next!=NULL) && (p1->info!=x)) p1=p1->next; if ((p1->next==NULL) && (p1->info!=x)) cout<<"
khong tim thay phan tu"
<<x<<"trong day"; else cout<<"
tim thay phan tu"
<<x<<"trong day"; } //ham chinh main () { clrscr (); ds p,p1; int x,n; cout<<"tao dslk co n phan tu
"
; cout<<"n="; cin>>n; p=taonode (1); for (int i=0;i<n;i++) { cout<<"
nhap phan tu thu "
<<i<<" "; cin>>x; p1=add_last (p,x); } cout<<"
ds vua tao"
; inds (p1); timkiem (p1); cout<<"
moi ban nhap phan tu can chen"
; int x1; cin>>x1; cout<<"
chen vao dau danh sach la"
; p1=add_first(p1,x1); inds(p1); cout<<"
moi ban nhap phan tu can chen vao cuoi"
; int x2; cin>>x2; cout<<"
chen vao dau danh sach la"
; p1=add_last (p1,x2); inds (p1); // xoa 1 node dau ds cout<<"
xoa phan tu dau trong danh sach"
; p1=xoadau (p1); inds (p1); cout<<"
xoa phan tu cuoi trong danh sach"
; p1=xoa_cuoi (p1); inds (p1); getch (); }