Menu
CoddyTech

Sắp xếp

Bài học 25 trên 25 trong khóa học Bài tập lập trình: tập 2 của Coddy.

Trong lập trình hiện đại, có nhiều phương pháp sắp xếp và tìm kiếm khác nhau. Ta có sắp xếp nổi bọt, sắp xếp trộn, v.v. Nếu bạn chỉ có thể đổi chỗ hai phần tử liền kề trong một dãy, hay nói đơn giản là đổi chỗ hai phần tử đứng cạnh nhau, hãy in ra tổng số lần đổi chỗ hai phần tử liền kề cần thực hiện để sắp xếp dãy đó.

challenge icon

Thử thách

Khó

Viết chương trình đọc số tự nhiên N từ đầu vào chuẩn. Ở dòng tiếp theo, nhập N số biểu diễn dãy. Tiếp tục hoán đổi các phần tử liền kề trong dãy cho đến khi dãy được sắp xếp từ nhỏ đến lớn. In ra tổng số lần hoán đổi liền kề cần thiết để sắp xếp dãy.

Đầu vào
5
4 2 1 5 3

Đầu ra
5

Giải thích
[4 | 2]   2 4 1 5 3
[4 | 1]   2 1 4 5 3
[1 | 2]   1 2 4 5 3
[5 | 3]   1 2 4 3 5
[3 | 4]   1 2 3 4 5

Tự làm thử

#include <stdio.h>

int main() {
    // Viết code ở đây
    return 0;
}

Tất cả bài học trong Bài tập lập trình: tập 2

Tự luyện tập: Trình biên dịch C online