Post: [C++] Hỏi về tạo lớp liên kết trong OOP
User: 12520816
Infraction: Tạo thread thiếu chất lượng
Points: 1
Administrative Note:
Message to User:
Original Post:
User: 12520816
Infraction: Tạo thread thiếu chất lượng
Points: 1
Administrative Note:
Message to User:
Originally posted by sinhvien.uit
View Post
Original Post:
Đề: Đị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); }