Đề 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.

 

Phương pháp giải

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 của GV Loigiaihay.com

# 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

 

Các bài tập cùng chuyên đề

Bài 1 :

Em hãy tìm thêm các ví dụ thực tế của mô hình danh sách liên kết.

 
Xem lời giải >>
Bài 2 :

nh

Hoạt động 1 trang 137 Tin học 11: Em hãy đọc, thảo luận và trả lời các câu hỏi sau:

1. Vì sao lại cần thư viện chương trình?

2. Ý nghĩa của các hàm trong thư viện chương trình là gì?

 
Xem lời giải >>
Bài 3 :

Những câu nào sau đây là sai về ý nghĩa của việc sử dụng thư viện khi viết chương trình?

A. Chương trình sẽ ngắn hơn.

B. Các hàm thư viện được viết một lần và sử dụng nhiều lần.

C. Chương trình sẵn sàng, dễ hiểu hơn.

D. Chương trình sẽ chạy nhanh hơn.

 
Xem lời giải >>
Bài 4 :

Đọc, trao đổi và thảo luận để biết cấu trúc dữ liệu của danh sách liên kết và các thao tác dữ liệu cơ bản trên danh sách liên kết.

 
Xem lời giải >>
Bài 5 :

 Đoạn chương trình sau thực hiện công việc gì?

from LinkedList import*

L=LL()

insert(L,10)

insert(L,20)

show(L)

 
Xem lời giải >>
Bài 6 :

Viết đoạn chương trình ngắn sử dụng thư viện LinkedList đề thiết lập một danh sách liên kết L và bổ sung các tên "Bình", "Hoa", "Hà" vào danh sách này.

 
Xem lời giải >>
Bài 7 :

Cho trước danh sách liên kết L với cấu trúc như đã mô tả trong bài học, muốn lấy ra khóa của node đầu tiên của danh sách thì dùng lệnh nào?

 
Xem lời giải >>
Bài 8 :

Cho trước một danh sách liên kết L. Viết một hàm đếm số lượng phần tử của danh sách liên kết này.

 
Xem lời giải >>
Bài 9 :

Viết hàm delete_Jast(L) có chức năng xóa phần tử cuối cùng của danh sách liên kết L.

 
Xem lời giải >>