Tantangan
Diberikan daftar bilangan bulat, perlihatkan bagaimana pengurutan gravitasi akan dilakukan.
Sortir Gravitasi
Dalam jenis gravitasi, bayangkan angka sebagai deretan tanda bintang. Kemudian, semuanya jatuh, dan baris baru akan jelas diurutkan. Mari kita lihat sebuah contoh:
[2, 7, 4, 6]
:
**
*******
****
******
-------
**
****
*******
******
-------
** | 2
**** | 4
****** | 6
******* | 7
Perhatikan bahwa ini hanya semacam gelembung paralel.
Spesifikasi Tepat
Pada setiap iterasi, mulai dari baris atas, ambil setiap tanda bintang dari baris yang tidak memiliki tanda bintang di bawahnya, dan pindahkan ke bawah satu baris. Terus lakukan itu sampai daftar diurutkan.
Memasukkan
Input akan menjadi daftar bilangan bulat yang benar-benar positif.
Keluaran
Untuk output, Anda harus menampilkan setiap langkah. Anda dapat memilih dua karakter ASCII non-spasi putih yang dapat dicetak, satu untuk menjadi "tanda bintang", dan satu untuk menjadi "tanda hubung" yang memisahkan. Baris tanda bintang harus dipisahkan dengan baris baru standar semacam (misalnya \n
atau \r\f
). Baris tanda hubung harus setidaknya lebar dari baris terluas (jika tidak, tanda bintang Anda akan jatuh terlalu jauh ke bawah!). Deretan tanda hubung di bagian paling bawah adalah opsional. Baris baru di akhir diizinkan. Ruang tambahan di setiap baris diizinkan.
Uji Kasus
input akan diwakili sebagai daftar, maka output akan terdaftar segera di bawah ini. Kasus uji dipisahkan oleh garis ganda-baru.
[4, 3, 2, 1]
****
***
**
*
----
***
** *
* *
**
----
**
* *
** *
***
----
*
**
***
****
[6, 4, 2, 5, 3, 1]
******
****
**
*****
***
*
------
****
** **
****
***
* **
***
------
**
****
*** **
* *
***
*****
------
**
***
* *
*** **
****
*****
------
**
*
***
****
******
*****
------
*
**
***
****
*****
******
[8, 4, 2, 1]
********
****
**
*
--------
****
** ****
* **
**
--------
**
* **
** ****
****
--------
*
**
****
********
Jangan ragu untuk memperbaiki kasus pengujian saya jika salah, saya membuatnya dengan tangan :)
Catatan: Jangan tampilkan daftar yang diurutkan di bagian akhir. :)
Mencetak gol
Semua program Anda akan ditulis di atas satu sama lain. Anda tidak ingin potongan program Anda jatuh, jadi pastikan Anda memiliki kode terpendek!