Đề: Định nghĩa lớp List biểu diễn khái niệm danh sách liên kết đơn các số nguyên với phương thức thiết lập và huỷ bỏ và các hàm thành phần xuất, nhập, thêm đầu, thêm cuối.
Mình viết được code thế này
các anh chị giúp em cái code bị lỗi gì mà no ko chạy dc.
Mình viết được code thế này
Code:
#include "iostream" #include "conio.h" using namespace std; typedef struct tagnode { int data; struct tagnode* pnext; }node; class List { node *phead; node *ptail; public: List(); List(List &a) { a.phead = NULL; a.ptail = NULL; } ~List(); void themdau(List &a, node*p); void themcuoi(List &a, node*p); void nhap(List &a, node*p); void xuat(List &a, node*p); }; node* khoitaonode(int x) { node*p = new node; if (p == NULL) { cout << "khong cap phat duoc"; exit(0); } else { p->data = x; p->pnext = NULL; } return p; } void List::themdau(List &a, node*p) { if (a.phead == NULL) { a.phead = a.ptail = NULL; } else { p->pnext = a.phead; a.phead = p; } } void List::themcuoi(List &a, node*p) { if (a.phead == NULL) { a.phead = a.ptail = NULL; } else { a.ptail->pnext = p; a.ptail = p; } } void List::nhap(List &a, node*p) { int x, n; a.phead = a.ptail = NULL; cout << "Nhap vao so phan tu: "; cin >> n; for (int i = 1; i < n + 1; i++) { cout << "Nhap vao phan tu " << i << ":"; cin >> x; p = khoitaonode(x); themcuoi(a, p); } } void List::xuat(List &a, node*p) { for (p = a.phead; p != NULL; p = p->pnext) { cout << p->data << " "; } } void main() { List l, a; node *p; l.nhap(a, p); l.xuat(a, p); }
Comment