Bài tập  /  Bài đang cần trả lời

Giải bài có thưởng!

Nhập vào 1 mảng số nguyên đưa mảng lên màn hình sắp xếp mảng sau: Số lẻ đứng trước số chẵn đứng sau

Nhập vào 1 mảng số nguyên đưa mảng lên mh sắp xếp mảng sau: Số lẻ đứng trước số chẵn đứng sau

0 trả lời
Hỏi chi tiết
66
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Để sắp xếp mảng sao cho số lẻ đứng trước số chẵn, ta có thể sử dụng thuật toán sắp xếp chọn (selection sort) như sau:

1. Duyệt qua từng phần tử trong mảng từ đầu đến cuối.
2. Tìm phần tử nhỏ nhất trong mảng con chưa được sắp xếp, bắt đầu từ vị trí hiện tại.
3. Hoán đổi phần tử nhỏ nhất tìm được với phần tử đầu tiên trong mảng con chưa được sắp xếp.
4. Tiếp tục duyệt qua các phần tử còn lại trong mảng con chưa được sắp xếp, tìm phần tử nhỏ nhất và hoán đổi với phần tử tiếp theo trong mảng con chưa được sắp xếp.
5. Lặp lại các bước 2-4 cho đến khi mảng được sắp xếp hoàn chỉnh.

Dưới đây là code Python thực hiện thuật toán trên:

```python
def sap_xep_le_chan(arr):
n = len(arr)
for i in range(n):
min_idx = i
for j in range(i+1, n):
if arr[j] % 2 == 1 and arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr

# Test
arr = [3, 1, 4, 2, 5, 6]
print(sap_xep_le_chan(arr))
```

Kết quả đầu ra sẽ là: [1, 3, 5, 2, 4, 6]

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Bài tập Tin học Lớp 9 mới nhất

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Trợ lý ảo Trợ lý ảo
×
Gia sư Lazi Gia sư