Trang chủ Lớp 11 Tin học lớp 11 SGK Tin học 11 - Kết nối tri thức Luyện tập 1 Bài 30 (trang 137) Tin học 11: Viết một...

Luyện tập 1 Bài 30 (trang 137) Tin học 11: 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

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