10656835_689853354462958_1541206909_n

18
Câu 15: #include <stdio.h> #include <conio.h> struct Node{ int data; Node *Next; }; struct DSLK{ Node *pHead; Node *pTail; }; void KhoiTao(DSLK &l){ l.pHead = l.pTail = NULL; } int KiemTraRong (DSLK &l){ if (l.pHead==NULL && l.pTail==NULL) return 1; return 0; } Node* Get_Node(int x){ Node *p ; p = new Node; if (p==NULL){ printf("Khong du bo nho!"); return NULL; } printf("Nut duoc tao tai dia chi:%d\n", p); p->data = x; p->Next = NULL;

Upload: trung-kien

Post on 18-Dec-2015

212 views

Category:

Documents


0 download

DESCRIPTION

ABC

TRANSCRIPT

Cu 15:#include #include struct Node{int data;Node *Next;};struct DSLK{Node *pHead;Node *pTail;};void KhoiTao(DSLK &l){l.pHead = l.pTail = NULL;}int KiemTraRong (DSLK &l){if (l.pHead==NULL && l.pTail==NULL) return 1;return 0;}Node* Get_Node(int x){Node *p ;p = new Node;if (p==NULL){printf("Khong du bo nho!");return NULL;}printf("Nut duoc tao tai dia chi:%d\n", p);p->data = x;p->Next = NULL;return p;}void ChenCuoi(DSLK &l, Node *p){if (l.pHead==NULL){l.pHead = l.pTail = p;}else{l.pTail->Next = p;l.pTail = p;}}void DuyetDS(DSLK l){Node *p;if (KiemTraRong(l)==1) printf("Danh sach da rong!");p = l.pHead;while (p!=NULL){printf("%d ",p->data);p = p->Next;}printf("\n");}void XoaDau(DSLK &l){Node *p;p = l.pHead;l.pHead = l.pHead->Next;p->Next = NULL;delete p;if (l.pHead == NULL) l.pTail = NULL;}void HuyDS(DSLK &l){while (KiemTraRong(l)==0) XoaDau(l);}int main(){int n, x, k;DSLK l;KhoiTao(l);printf("So phan tu trong danh sach: ");scanf("%d",&n);for (int i=0; idata = x;p->Next = NULL;return p;}void ChenDau(DSLK &l, Node *p){//kiem tra truong hop danh sach rongif (l.pHead==NULL){l.pHead = l.pTail = p;}else{p->Next = l.pHead;l.pHead = p;}}void DuyetDS(DSLK l){Node *p;if (KiemTraRong(l)==1) printf("Danh sach da rong!");p = l.pHead;while (p!=NULL){printf("%d ",p->data);p = p->Next;}printf("\n");}Node* TimKiem(DSLK l, int x){Node *p;p = l.pHead;while (p!=NULL){if (p->data !=x){p = p->Next;DuyetDS (l);}elsereturn p;}return NULL;}void XoaPhanTu(DSLK &l, int k){//Tim nutNode*p, *q;p = l.pHead;q = NULL;while (p!=NULL && p->data!=k){q = p;p = p->Next;}if (p==NULL){printf("Khong co phan tu can xoa!");}else if (p==l.pHead){l.pHead = l.pHead->Next;p->Next = NULL;delete p;if (l.pHead==NULL) l.pTail = NULL;}else{q->Next = p->Next;if (p==l.pTail)l.pTail = q;p->Next = NULL;delete p;}}int main(){int n, x, k, h;DSLK l;KhoiTao(l);printf("So phan tu trong danh sach: ");scanf("%d",&n);for (int i=0; ip; i--) l.A[i] = l.A[i-1];//Dat x vao vi tri pl.A[p] = x;l.n += 1; }void DuyetDS(DSKe l){for (int i=0; iNext = NULL;return p;}void ChenDau(DSLK &l, Node *p){if (l.pHead==NULL){l.pHead = l.pTail = p;}else{p->Next = l.pHead;l.pHead = p;}}void ChenCuoi(DSLK &l, Node *p){if (l.pHead==NULL){l.pHead = l.pTail = p;}else{l.pTail->Next = p;l.pTail = p;}}void DuyetDS(DSLK l){Node *p;if (KiemTraRong(l)==1) printf("Danh sach da rong!");p = l.pHead;while (p!=NULL){printf("%d ",p->data);p = p->Next;}printf("\n");}Node* TimKiem(DSLK l, int x){Node *p;p = l.pHead;while (p!=NULL){if (p->data !=x){p = p->Next;DuyetDS (l);}elsereturn p;}

return NULL;}void XoaDau(DSLK &l){Node *p;p = l.pHead;l.pHead = l.pHead->Next;p->Next = NULL;delete p;if (l.pHead == NULL) l.pTail = NULL;}void HuyDS(DSLK &l){while (KiemTraRong(l)==0) XoaDau(l);}int main(){int n, x, k, h;DSLK l;KhoiTao(l);printf("So phan tu trong danh sach: ");scanf("%d",&n);for (int i=0; i