Câu hỏi 2. Nếu bài toán đặt ra là sắp xếp dãy A theo thứ tự giảm dần thì các bước thiết kế như trên...

Câu hỏi:

Câu hỏi 2. Nếu bài toán đặt ra là sắp xếp dãy A theo thứ tự giảm dần thì các bước thiết kế như trên có cần thay đổi không? Thay đổi như thế nào?

Câu trả lời:
Người trả lời: GV. Đỗ Hồng Ánh
Câu trả lời:

Để sắp xếp dãy A theo thứ tự giảm dần thay vì thứ tự tăng dần, chúng ta chỉ cần thay đổi dấu so sánh trong phần điều kiện của vòng lặp while. Cụ thể, đổi dấu '<' thành '>', dấu '<=' thành '>=' như sau:

def Insertionsort(A):
n = len(A)
for i in range(1, n):
value = A[i]
j = i - 1
while j >= 0 and A[j] < value: # Thay đổi dấu '<' thành '>'
A[j + 1] = A[j]
j = j - 1
A[j + 1] = value

Với sự thay đổi này, bước sắp xếp sẽ được thực hiện theo thứ tự giảm dần của phần tử trong dãy A.
Bình luận (0)
Nhấn vào đây để đánh giá
Thông tin người gửi
0.05681 sec| 2189.578 kb