Mengurutkan visualisasi
Visualisasi penyortiran ringan yang dibuat dengan C ++ dan SFML.
Saya ingin berkontribusi pada proyek!
Luar biasa! Di sini Anda dapat menemukan beberapa info berguna tentang visualisasi, kami juga menerima kontributor pertama!
Juga, pastikan untuk menarik perubahan terakhir dari cabang Dev!
Jenis jenis
- Sortir Gelembung
- Sortir gelembung bekerja dengan terus bertukar elemen di sebelah satu sama lain yang berada di tempat yang salah. Mulai dari awal dataset, setiap elemen 'mengapung' ke tempat yang benar. Lebih banyak tentang jenis gelembung dapat ditemukan di sini.
- Jenis seleksi
- Seleksi Sortir berfungsi dengan memiliki dua bagian, bagian yang diurutkan dan tidak disortir, dan terus mencari melalui bagian yang tidak disortir dan menempatkan elemen terkecil ke bagian yang diurutkan. Algoritma penyortiran ini dapat diimplementasikan di mana elemen terbesar dipilih sebagai gantinya. Lebih banyak tentang jenis seleksi dapat ditemukan di sini.
- Sort Penyisipan
- Penyisipan Sorts mirip dengan sortir seleksi karena keduanya memiliki bagian yang diurutkan dan tidak disortir. Alih -alih terus dipilih elemen terkecil/terbesar, itu akan memasukkan elemen yang dipilih dari bagian yang tidak disortir dan 'masukkan' ke tempat yang benar di bagian yang diurutkan. Lebih lanjut tentang jenis penyisipan dapat ditemukan di sini.
- Sortir cepat
- Jenis cepat adalah algoritma "pembagian dan penaklukan". Bagilah dan menaklukkan algoritma bekerja dengan membagi masalah menjadi bagian yang lebih kecil, menyelesaikan masalah yang lebih kecil, kemudian menyisir solusi menjadi satu solusi akhir. Sortir cepat bekerja dengan memilih elemen sebagai 'pivot', menggerakkan elemen lain di sekitar di mana elemen kurang dari pivot berada di satu sisi dan elemen lebih besar dari pivot di sisi lain, kemudian terus melakukan proses itu dengan masing -masing sisi. Setelah setiap elemen telah dipartisi, solusinya digabungkan ke dalam array yang diurutkan. Lebih lanjut tentang jenis cepat dapat ditemukan di sini dan lebih banyak lagi tentang algoritma Divide and Conquer dapat ditemukan di sini.
- Sortir pengocok koktail
- Sortir pengocok koktail adalah varian dari jenis gelembung. Alih -alih hanya memiliki elemen 'float' dari bawah ke tempat yang benar dalam dataset, elemen juga 'tenggelam' dari atas datset ke posisi yang benar. Lebih banyak tentang jenis koktail pengocok dapat ditemukan di sini.
- Bogo Sort
- Bogo Sort adalah algoritma penyortiran yang tidak efisien di mana ia secara acak menghasilkan versi berbeda dari dataset asli dan memeriksa apakah itu diurutkan atau tidak. Lebih lanjut tentang jenis bogo dapat ditemukan di sini.
- Jenis bitonik
- Bitonic Sort adalah algoritma penyortiran berbasis perbandingan yang dapat dijalankan dengan implementasi paralel. Dalam subarray yang berbeda, algoritma memeriksa apakah elemen pertama lebih kecil dari yang kedua dan sebaliknya. Itu terus -menerus melakukannya pada subarray yang lebih besar sampai seluruh dataset diurutkan. Lebih banyak tentang jenis bitonik dapat ditemukan di sini.
- Jenis aneh-bahkan
- Jenis ganjil adalah algoritma penyortiran Vasing yang dikembangkan untuk digunakan pada prosesor pararell, didasarkan pada jenis gelembung tetapi dibagi menjadi dua fase ganjil dan genap fase. Pada algoritma fase ganjil melakukan penyortiran gelembung pada elemen yang diindeks ganjil, selama fase genap pada elemen yang diindeks. Lebih lanjut tentang jenis ganjil dapat ditemukan di sini.
? Usage
- Ruang : Mulai Sortir
- Backspace : berhenti sortir
- H : Tampilkan Bantuan
- F1 : Ubah jumlah elemen
- F2 : Ubah waktu antara perbandingan
- Panah ke atas / panah ke bawah : Ubah Jenis Sortir
? Download
Persyaratan:
? Linux
- Kloning Proyek:
git clone https://github.com/alesbe/sorting-visualizer && cd sorting-visualizer - Jalankan
./install.sh
Windows / MacOS
Unduh dari rilis
Jika Anda ingin mengkompilasi proyek sendiri, Anda harus mengikuti langkah selanjutnya:
- Unduh SFML dari situs web resmi
- Unduh CMake
- Klon Repositori
- Buka
CMakeLists.txt dan temukan variabel SFML_DIR . Atur jalur ke rute di mana file SFML CMake berada. Misalnya C:/Program Files (x86)/SFML/lib/cmake/SFML . - Dari direktori root repositori, jalankan:
mkdir build cd build
cmake ..
cmake -G 'Visual Studio 17 2022' ..
- Di Direktori
/build harus menjadi solusi Visual Studio. Sekarang Anda dapat membuka solusi dan mengkompilasi file dengan tombol play seperti biasa!
Catatan: Jika Anda tidak ingin menggunakan Visual Studio 2022, unduh SFML untuk kompiler target Anda dan ubah generator cmake pada langkah 6. Anda dapat memeriksa daftar generator dengan cmake -g