Bài 31.4. Phân loại Cổ phiếu theo Biến động Giá - [Độ khó: Khá]
Bài 31.4. Phân loại Cổ phiếu theo Biến động Giá - [Độ khó: Khá]
Là một nhà phân tích thị trường chứng khoán, bạn đang theo dõi một danh sách các mã cổ phiếu. Để đánh giá nhanh hiệu suất thị trường, bạn muốn phân loại các cổ phiếu thành hai nhóm: "tăng giá" và "không tăng giá" (giữ nguyên hoặc giảm). Thay vì chỉ in ra, bạn cần tách các nút cổ phiếu từ danh sách gốc để tạo ra hai danh sách liên kết riêng biệt.
Cấu trúc dữ liệu
Sử dụng một cấu trúc Node
cơ bản cho danh sách liên kết đơn để lưu trữ thông tin về mỗi cổ phiếu. Mỗi Node
sẽ có:
ma_co_phieu
: Một chuỗi (string) đại diện cho mã cổ phiếu (ví dụ: "FPT", "VIC").gia_hien_tai
: Một số nguyên thể hiện giá hiện tại của cổ phiếu.next
: Con trỏ tớiNode
tiếp theo trong danh sách.
INPUT FORMAT
Dòng đầu tiên chứa số nguyên N
(1 <= N <= 1000), số lượng cổ phiếu ban đầu.
Tiếp theo là N
dòng, mỗi dòng chứa thông tin một cổ phiếu: ma_co_phieu gia_hien_tai
.
Giá tiêu chuẩn để phân loại là 100000
(giá tăng nếu gia_hien_tai > 100000
, ngược lại là không tăng).
OUTPUT FORMAT
Sau khi tách danh sách gốc thành hai danh sách tang_gia
và khong_tang_gia
:
- Dòng đầu tiên in ra "Danh sach co phieu TANG GIA:"
- Tiếp theo là các mã cổ phiếu trong danh sách
tang_gia
, mỗi mã trên một dòng. Nếu danh sách trống, in "Khong co." - Dòng tiếp theo in ra "Danh sach co phieu KHONG TANG GIA:"
- Tiếp theo là các mã cổ phiếu trong danh sách
khong_tang_gia
, mỗi mã trên một dòng. Nếu danh sách trống, in "Khong co." - Các mã cổ phiếu trong mỗi danh sách phải giữ nguyên thứ tự tương đối so với danh sách gốc.
- Danh sách gốc sau thao tác này phải trở thành trống (tất cả các nút đã được di chuyển).
Ví dụ:
Input:
5
FPT 110000
HPG 95000
VND 105000
MBB 98000
PNJ 120000
Output:
Danh sach co phieu TANG GIA:
FPT
VND
PNJ
Danh sach co phieu KHONG TANG GIA:
HPG
MBB
Giải thích:
- Danh sách gốc:
FPT(110k) -> HPG(95k) -> VND(105k) -> MBB(98k) -> PNJ(120k)
. - Các cổ phiếu có giá > 100000: FPT, VND, PNJ. Chúng được di chuyển vào danh sách
tang_gia
. - Các cổ phiếu có giá <= 100000: HPG, MBB. Chúng được di chuyển vào danh sách
khong_tang_gia
. - Thứ tự tương đối được giữ nguyên: FPT trước VND, VND trước PNJ trong danh sách
tang_gia
. HPG trước MBB trong danh sáchkhong_tang_gia
. - Danh sách gốc sau khi tách sẽ trống.
Comments