Trả lời Luyện tập 1 Bài 30. Thiết lập thư viện cho chương trình (trang 137) – SGK Tin học 11 Kết nối tri thức. Hướng dẫn: Dựa vào kiến thức trong bài kết hợp kiến thức thực tế của bản thân để trả lời câu hỏi.
Câu hỏi/Đề bài:
Viết một thư viện bao gồm các hàm nhập dữ liệu là một dãy số và các hàm thư viện bao gồm sắp xếp chèn, sắp xếp chọn và sắp xếp nổi bọt.
Hướng dẫn:
Dựa vào kiến thức trong bài kết hợp kiến thức thực tế của bản thân để trả lời câu hỏi.
Lời giải:
# Thư viện sắp xếp
# Hàm nhập dữ liệu là một dãy số
def input_list():
n = int(input(“Nhập số phần tử trong dãy số: “))
arr = []
for i in range(n):
x = int(input(“Nhập phần tử thứ {}: “.format(i+1)))
arr.append(x)
return arr
# Hàm sắp xếp chèn
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i – 1
while j >= 0 and arr[j] > key:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
return arr
# Hàm sắp xếp chọn
def selection_sort(arr):
for i in range(len(arr)):
min_idx = i
for j in range(i+1, len(arr)):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr
# Hàm sắp xếp nổi bọt
def bubble_sort(arr):
n = len(arr)
for i in range(n – 1):
for j in range(n – i – 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr