Danh sách liên kết đơn

View as PDF

Submit solution

Points: 4
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C++, Pascal, pypy3, Python

Cho một danh sách liên kết đơn và các hàm cần cài đặt được định nghĩa như sau:

typedef struct Node {
   string name;    //là xâu ký tự không có ký tự trắng tên người
   int mark;       //là điểm số có giá trị từ 0..9
   struct Node *next;
 }List;
//1. Hàm chèn dữ liệu gồm (vname, vmark) tương ứng với hai trường dữ liệu vào đầu danh sách.
 void InsertFirst(List *& head,string vname, int vmark);
 //2. Hàm chèn dữ liệu gồm (vname, vmark) tương ứng với hai trường dữ liệu vào cuối danh sách.
 void InsertLast(List *& head,string vname, int vmark); 
  //3. Hàm đếm xem có bao nhiêu người có điểm (mark) lớn hơn hoặc bằng vmark
 int Count(List * head, int vmark);

Hãy cài đặt các hàm và viết chương trình thể hiện quá trình sử dụng của hàm.Cài đặt đúng cấu trúc danh sách.

Input:

  • Gồm nhiều dòng, một dòng tương ứng một câu lệnh cần thao tác trên danh sách.
  • Dòng có cấu trúc <insF vname vmark> là chèn một phần tử vào đầu danh sách.
  • Dòng có cấu trúc <insL vname vmark> là chèn một phần tử vào cuối danh sách.
  • Dòng có cấu trúc <count vmark> là đếm số phần tử có trường marks có giá trị lớn hơn hoặc bằng vmark.
  • Kết thúc là một dòng chỉ duy nhất xâu "fin".

Output:

  • Ứng với lệnh count trong các thao tác thì in ra kết quả cần tìm. Mỗi kết quả in ra trên một dòng. Dữ liệu vào đảm bảo có kết quả, tức là có ít nhất một lệnh count.

Example:
Sample Input:

insL lan 5
count 2
insL hung 5
insL dung 5
count 5
insF tuan 5
insL minh 5
count 2
count 5
count 9
fin

Sample Output:

1
3
5
5
0

Comments

There are no comments at the moment.