Thử thách
Đưa ra một danh sách các số nguyên, cho thấy cách sắp xếp trọng lực sẽ được thực hiện.
Sắp xếp trọng lực
Trong sắp xếp trọng lực, hãy tưởng tượng các số là hàng của dấu sao. Sau đó, mọi thứ rơi xuống, và các hàng mới sẽ được sắp xếp rõ ràng. Hãy xem một ví dụ:
[2, 7, 4, 6]
:
**
*******
****
******
-------
**
****
*******
******
-------
** | 2
**** | 4
****** | 6
******* | 7
Lưu ý rằng điều này là khá nhiều chỉ là sắp xếp bong bóng song song.
Thông số kỹ thuật chính xác
Trên mỗi lần lặp, bắt đầu từ hàng trên cùng, lấy mọi dấu hoa thị từ hàng không có dấu hoa thị bên dưới nó và di chuyển nó xuống một hàng. Tiếp tục làm điều đó cho đến khi danh sách được sắp xếp.
Đầu vào
Đầu vào sẽ là một danh sách các số nguyên tích cực nghiêm ngặt.
Đầu ra
Đối với đầu ra, bạn phải xuất từng bước. Bạn có thể chọn bất kỳ hai ký tự ASCII không có khoảng trắng có thể in, một ký tự là "dấu hoa thị" và một ký tự là "dấu gạch ngang". Các hàng dấu hoa thị phải được phân tách bằng một dòng mới tiêu chuẩn của một số loại (ví dụ \n
hoặc \r\f
). Hàng dấu gạch ngang tối thiểu phải là chiều rộng của hàng rộng nhất (nếu không các dấu sao của bạn sẽ rơi quá xa!). Một hàng dấu gạch ngang ở dưới cùng là tùy chọn. Một dòng mới ở cuối được cho phép. Không gian lưu trữ trên mỗi dòng được cho phép.
Các trường hợp thử nghiệm
đầu vào sẽ được trình bày dưới dạng một danh sách, sau đó đầu ra sẽ được liệt kê ngay bên dưới. Các trường hợp thử nghiệm được phân tách bằng một dòng mới.
[4, 3, 2, 1]
****
***
**
*
----
***
** *
* *
**
----
**
* *
** *
***
----
*
**
***
****
[6, 4, 2, 5, 3, 1]
******
****
**
*****
***
*
------
****
** **
****
***
* **
***
------
**
****
*** **
* *
***
*****
------
**
***
* *
*** **
****
*****
------
**
*
***
****
******
*****
------
*
**
***
****
*****
******
[8, 4, 2, 1]
********
****
**
*
--------
****
** ****
* **
**
--------
**
* **
** ****
****
--------
*
**
****
********
Xin vui lòng sửa các trường hợp thử nghiệm của tôi nếu họ sai, tôi đã thực hiện chúng bằng tay :)
Lưu ý: Không xuất danh sách đã sắp xếp ở cuối. :)
Chấm điểm
Tất cả các chương trình của bạn sẽ được viết lên nhau. Bạn sẽ không muốn các phần của chương trình của bạn rơi xuống, vì vậy hãy chắc chắn rằng bạn có mã ngắn nhất!