NEW
Font size
WorksheetsUntitled Quiz
Total questions: 23
Worksheet time: 12mins
Trong linked list đơn (singly-linked list), mỗi node chứa những phần tử gì?
Giá trị dữ liệu
Địa chỉ của node tiếp theo
Địa chỉ của node trước đó
Tất cả đều đúng.
Trong linked list đôi (double-linked list), node cuối cùng thường có con trỏ đến đâu?
NULL
Node đầu tiên
Địa chỉ của chính nó
Tất cả đều sai
Loại linked list nào trong đó node cuối cùng sẽ trỏ đến node đầu tiên?
Singly linked list
Double linked list
Circular linked list
Tất cả đều sai.
Chèn một phần tử vào giữa một danh sách liên kết yêu cầu sửa đổi bao nhiêu con trỏ?
1.
2.
3.
4.
Chèn một phần tử vào cuối một danh sách liên kết yêu cầu sửa đổi bao nhiêu con trỏ?
1.
2.
3.
4.
Trong trường hợp xóa node đầu tiên của linked list, chúng ta cần làm gì?
Giải phóng bộ nhớ của node đó.
Đặt con trỏ của node tiếp theo là NULL
Cả a) và b).
Tất cả đều sai.
Để xóa một node khỏi linked list, cần phải thực hiện?
Đặt con trỏ của node sau nó trỏ đến node trước nó
Đặt con trỏ của node trước nó trỏ đến node sau nó
Cả a) và b)
Tất cả đều sai.
Thao tác nào sau đây cần phải xét đến số lượng phần tử của linked list?
Xóa phần tử đầu tiên.
Xóa phần tử cuối cùng.
Chèn phần tử mới vào vị trí đầu tiên.
Tất cả đều sai.
Để chèn thêm node mới vào danh sách liên kết vòng, cần thay đổi giá trị của bao nhiêu con trỏ?
1
2
3
4
Cho biết kết quả in ra màn hình khi chạy đoạn mã sau với danh sách liên kết đơn chứa giá trị lần lượt 1->2->3->4: void display(struct node* start) { if(start == NULL) return; else printf("%d ", start->data); display(start->next); }
1 2 3 4
1 3 1 3
1 3 3 1
Tất cả đều sai
Cho biết kết quả in ra màn hình khi chạy đoạn mã sau với danh sách liên kết đơn chứa giá trị lần lượt 1->2->3->4->5: void display(struct node* start) { if(start == NULL) return; else printf("%d ", start->data); display(start->next); }
1 2 3 4 5
1 3 5 5 3 1
1 3 5 3 5
Tất cả đều sai
Cho biết kết quả của danh sách liên kết khi gọi hàm insert(head, 10) với danh sách liên kết đơn chứa giá trị lần lượt 1->2->3->4, sử dụng đoạn mã sau: void insert(struct node* start, int value) { if(start == NULL) return; if (start->value % 2 == 0) { struct node* new_node = (struct node*)malloc(sizeof(struct node)); new_node->value = value; new_node->next = start->next; start->next = new_node; } else insert(start->next, value); }
1->2->10->3->4
1->10->2->3->4
1->2->3->10->4
Tất cả đều sai
Cho biết kết quả của danh sách liên kết khi gọi hàm insert(head,10) với danh sách liên kết đơn chứa giá trị lần lượt 2->4->6.
2->4->6
2->4->6->10
2->10->4->6
Tất cả đều sai.
Bài 1 mô tả: Viết chương trình tạo một danh sách liên kết đơn chứa các giá trị số nguyên. Cho phép người sử dụng nhập vào giá trị (10 giá trị) cho danh sách liên kết. Hiển thị giá trị các phần tử của danh sách ra màn hình. Theo mô tả này, chương trình cần thực hiện hành động nào?
Tạo danh sách liên kết đơn từ 10 giá trị do người dùng nhập và hiển thị tất cả phần tử.
Tạo mảng tĩnh 10 phần tử và không cần hiển thị.
Chỉ thêm phần tử vào cuối danh sách mà không có nhập từ người dùng.
Sắp xếp danh sách tăng dần mà không nhận dữ liệu từ người dùng.
Bài 2 mô tả: Viết chương trình tạo một danh sách liên kết đơn chứa 10 giá trị số nguyên (SV tự cho các giá trị phần tử). Cho phép người sử dụng nhập vào 1 số nguyên x. Yêu cầu chính của bài là gì?
Tìm và in ra vị trí các phần tử trong danh sách có giá trị bằng x.
Chèn giá trị x vào đầu danh sách.
Sắp xếp danh sách theo thứ tự tăng dần.
Xóa phần tử đầu tiên của danh sách.
Bài 3 mô tả: Viết chương trình tạo một danh sách liên kết đơn chứa 10 giá trị số nguyên (SV tự cho các giá trị phần tử). Cho phép người sử dụng nhập vào 1 số nguyên x. Theo mô tả, chương trình phải làm gì với các phần tử có giá trị bằng x?
Tìm và xóa tất cả các phần tử trong danh sách có giá trị bằng x.
Chèn x sau mỗi phần tử trong danh sách.
Chỉ đếm số lần xuất hiện của x mà không xóa.
Sắp xếp danh sách rồi in ra vị trí của x.
Bài 4 mô tả: Viết câu lệnh định nghĩa hàm Append() có chức năng thêm phần tử mới vào cuối 1 danh sách liên kết đơn. Theo mô tả, hàm Append() thực hiện thao tác nào?
Thêm phần tử mới vào cuối danh sách liên kết đơn.
Thêm phần tử mới vào đầu danh sách liên kết đơn.
Xóa phần tử cuối của danh sách liên kết đơn.
Đảo ngược toàn bộ danh sách liên kết đơn.
Bài 5 mô tả: Viết câu lệnh định nghĩa hàm Insert() có chức năng thêm phần tử mới vào đầu 1 danh sách liên kết đơn. Theo mô tả, hàm Insert() thực hiện thao tác nào?
Thêm phần tử mới vào đầu danh sách liên kết đơn.
Thêm phần tử mới vào cuối danh sách liên kết đơn.
Chèn phần tử sau một giá trị x trong danh sách.
Chèn phần tử trước một giá trị x trong danh sách.
Bài 6 mô tả: Viết chương trình tạo một danh sách liên kết đơn 10 phần tử với các giá trị tăng dần (danh sách liên kết sắp xếp tăng dần). Tìm và xóa các phần tử trùng lặp có trong danh sách (phần tử trùng lặp là phần tử có giá trị bằng với 1 phần tử khác trong danh sách). Cho danh sách ban đầu: Linked_list = 10 -> 11 -> 11 -> 12 -> 12 -> 21 -> 43. Danh sách sau khi xóa các phần tử trùng lặp là gì?
Linked_list = 10 -> 11 -> 11 -> 12 -> 12 -> 21 -> 43
Linked_list = 10 -> 11 -> 12 -> 21 -> 43
Linked_list = 10 -> 10 -> 11 -> 12 -> 21 -> 43
Linked_list = 11 -> 12 -> 21 -> 43
Bài 7 mô tả: Viết chương trình tạo một danh sách liên kết đơn 10 phần tử với giá trị ngẫu nhiên (danh sách liên kết sắp xếp không được sắp xếp). Theo yêu cầu bài, chương trình phải làm gì?
Tìm và xóa các phần tử trùng lặp có trong danh sách.
Sắp xếp danh sách theo thứ tự tăng dần.
Tìm vị trí của một giá trị x do người dùng nhập.
Chèn một phần tử mới vào đầu danh sách.
Viết câu lệnh định nghĩa hàm Max() có chức năng tìm giá trị phần tử lớn nhất trong một danh sách liên kết đơn. Chọn mô tả đúng về chức năng của Max().
Trả về tổng tất cả giá trị trong danh sách liên kết đơn
Trả về giá trị lớn nhất của một phần tử trong danh sách liên kết đơn
Trả về số lượng nút trong danh sách liên kết đơn
Trả về giá trị nhỏ nhất trong danh sách liên kết đơn
Viết câu lệnh định nghĩa hàm void Print() có chức năng in ra màn hình giá trị của n phần tử đầu tiên trong một danh sách liên kết. Chọn mô tả đúng về chức năng của Print().
In giá trị của n phần tử đầu tiên trong danh sách liên kết
In toàn bộ danh sách liên kết bất kể n
Xóa n phần tử đầu tiên của danh sách liên kết
Thêm n phần tử mới vào đầu danh sách liên kết
Viết câu lệnh định nghĩa hàm void Copy() có chức năng sao chép giá trị phần tử từ một mảng sang một danh sách liên kết. Chọn mô tả đúng về chức năng của Copy().
Sao chép các giá trị từ mảng sang danh sách liên kết theo cùng thứ tự
Sao chép các giá trị từ danh sách liên kết sang mảng
Nối hai danh sách liên kết thành một danh sách
Sắp xếp lại các phần tử trong mảng theo thứ tự tăng dần
