Dương Hồng Bảo Phúc | Chat Online
07/05/2025 19:31:44

Một danh sách liên kết dùng để quản lý sinh viên được tổ chức như sau:


----- Nội dung ảnh -----
Danh Sách Liên Kết Đơn – K.Trả

Một danh sách liên kết dùng để quản lý sinh viên được tổ chức như sau:
```c
typedef struct Student {
string id;
string name;
int gpa;
bool gender; // false là nữ; true là nam
Student *next;
} Student;
```

### Task
Hãy lập trình thực hiện các thao tác theo dữ liệu vào để quản lý danh sách sinh viên

### Input
- Mỗi dòng có một cấu trúc với các tác nhận:
- `ins x y z`: Bổ sung một sinh viên mới có id là x, điểm gpa là y và gender là z vào đầu danh sách.
- `upd x y`: Cập nhật hộ số sinh viên có id là x, điểm gpa là y và gender là z.
- `del x`: Xóa node có id là x.
- `dir`: Hiển thị danh sách sinh viên của danh sách, mỗi sinh viên trên một dòng – theo thứ tự các trường: id-name-gender-gpa
vd:
a01-TIEN Hoang Anh-1-64
- `cnt x`: Hiển thị số sinh viên trong danh sách trên 1 hàng theo điều kiện
- x = 0: Tất cả sinh viên
- x = 1: Số sinh viên có gpa >= 80
- x = 2: Số sinh viên có gpa < 80
- `ord`: sắp xếp danh sách theo thứ tự tăng dần của điểm gpa
- `chk`: Kiểm tra danh sách sinh viên đã sắp xếp theo điểm gpa hay chưa và hiển thị kết quả như sau:
- NO: Nếu chưa sắp xếp
- YES: Nếu đã sắp xếp

### Output
Tùy vào cấu trúc lệnh nhận được để thực hiện và hiển thị kết quả

### Samples
**Input**
```
ins a01 80 1
ins a02 73 1
ins a03 85 0
ins b01 64 1
upd a01 le Van dao
upd a02 nguyen Hien thuat
upd b01 HoanG anH Tien
upd a03 hoa
dir
ord
dir
chk
```

**Output**
```
b01-TIEN Hoang Anh-1-64
a03-HOA-0-85
a02-THUAT Nguyen Thien-1-73
a01-DAO Le Van-1-80
YES
2
4
1
```
Bài tập chưa có câu trả lời nào. Rất mong nhận được trả lời của bạn! |
Đăng ký tài khoản để trả lời bài tập.
Đăng ký tài khoản để có thể trả lời bài tập này!

Đăng ký qua Google:

Hoặc lựa chọn:
Đăng ký bằng email, điện thoại Đăng nhập bằng email, điện thoại
Lazi.vn