From 6b2c1597bb943271266d50d2e8593bbd7ae37aee Mon Sep 17 00:00:00 2001 From: kolo <154599184+koloideal@users.noreply.github.com> Date: Tue, 3 Mar 2026 22:00:01 +0300 Subject: [PATCH] update --- README.md | 98 +++++++------------------------------------------------ 1 file changed, 11 insertions(+), 87 deletions(-) diff --git a/README.md b/README.md index cacbe95..3810156 100644 --- a/README.md +++ b/README.md @@ -53,20 +53,20 @@ ## πŸ–₯️ Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ``` -β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ πŸ“Š Algorithm: Quick Sort Time: O(n log n) Comparisons: 1.2k β”‚ ← UI панСль -β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ -β”‚ β”‚ β”‚ -β”‚ πŸ“ˆ Π‘Ρ‚ΠΎΠ»Π±ΠΈΠΊΠΈ массива β”‚ πŸ—ΊοΈ Progress Map β”‚ -β”‚ β”‚ β”‚ -β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ -β”‚ πŸ“‰ Ξ” Comparisons / step [гистограмма] β”‚ ← ниТняя панСль -β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ β”‚ β”‚ +β”‚ πŸ“ˆ Π‘Ρ‚ΠΎΠ»Π±ΠΈΠΊΠΈ массива β”‚ πŸ—ΊοΈ Progress Map β”‚ +β”‚ β”‚ β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ πŸ“‰ Ξ” Comparisons / step [гистограмма] β”‚ ← ниТняя панСль +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` - πŸ“Š **Главная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ** β€” столбики с Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ состояний - πŸ—ΊοΈ **Progress Map** β€” ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½Π°Ρ сСтка всСго массива, Π·Π΅Π»Π΅Π½Π΅Π΅Ρ‚ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ сортировки -- πŸ“‰ **Ξ” Гистограмма** β€” количСство сравнСний Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС (ΠΏΡƒΠ»ΡŒΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°) +- πŸ“‰ **Гистограмма** β€” количСство сравнСний Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС (ΠΏΡƒΠ»ΡŒΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°) ### 🎨 ЦвСтовая схСма @@ -99,92 +99,16 @@ cmake --build build --config Release > πŸ’‘ SFML 2.6 скачиваСтся ΠΈ компилируСтся автоматичСски ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ сборкС. > ⏱️ ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ запуск `cmake -S . -B build` Π·Π°ΠΉΠΌΡ‘Ρ‚ 1–3 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹. -### πŸ”€ Π¨Ρ€ΠΈΡ„Ρ‚ -Π‘ΠΊΠ°Ρ‡Π°ΠΉ [JetBrains Mono](https://www.jetbrains.com/lp/mono/) ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈ Ρ„Π°ΠΉΠ» Π²: -``` -assets/fonts/JetBrainsMono-Regular.ttf -``` - ---- - -## πŸ“ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° - -``` -SortLab/ -β”œβ”€β”€ 🎨 assets/ -β”‚ β”œβ”€β”€ fonts/JetBrainsMono-Regular.ttf -β”‚ β”œβ”€β”€ icon.ico -β”‚ β”œβ”€β”€ icon.png -β”‚ β”œβ”€β”€ preview.png -β”‚ └── app.rc -β”œβ”€β”€ πŸ“‹ include/ -β”‚ β”œβ”€β”€ App.hpp -β”‚ β”œβ”€β”€ Array.hpp -β”‚ β”œβ”€β”€ Sorter.hpp -β”‚ β”œβ”€β”€ UI.hpp -β”‚ β”œβ”€β”€ OperationsHistory.hpp -β”‚ β”œβ”€β”€ ProgressMap.hpp -β”‚ └── sorters/ -β”‚ β”œβ”€β”€ BubbleSorter.hpp -β”‚ β”œβ”€β”€ SelectionSorter.hpp -β”‚ β”œβ”€β”€ InsertionSorter.hpp -β”‚ β”œβ”€β”€ MergeSorter.hpp -β”‚ └── QuickSorter.hpp -β”œβ”€β”€ πŸ’» src/ -β”‚ β”œβ”€β”€ main.cpp -β”‚ β”œβ”€β”€ App.cpp -β”‚ β”œβ”€β”€ App_audio.cpp -β”‚ β”œβ”€β”€ Array.cpp -β”‚ β”œβ”€β”€ Sorter.cpp -β”‚ β”œβ”€β”€ UI.cpp -β”‚ β”œβ”€β”€ OperationsHistory.cpp -β”‚ β”œβ”€β”€ ProgressMap.cpp -β”‚ └── sorters/ -β”‚ β”œβ”€β”€ BubbleSorter.cpp -β”‚ β”œβ”€β”€ SelectionSorter.cpp -β”‚ β”œβ”€β”€ InsertionSorter.cpp -β”‚ β”œβ”€β”€ MergeSorter.cpp -β”‚ └── QuickSorter.cpp -└── βš™οΈ CMakeLists.txt -``` - ---- - -## πŸ—οΈ АрхитСктура - -``` -main() - └── App::run() - β”œβ”€β”€ handleEvents() β€” Π²Π²ΠΎΠ΄ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ - β”œβ”€β”€ update(dt) β€” шаг сортировки + гистограмма - └── render() - β”œβ”€β”€ Array bars β€” основная визуализация - β”œβ”€β”€ UI overlay β€” тСкст, статистика - β”œβ”€β”€ ProgressMap β€” ΠΌΠΈΠ½ΠΈ-ΠΊΠ°Ρ€Ρ‚Π° - └── HistogramRenderer β€” Ξ” гистограмма - -Sorter (abstract) - β”œβ”€β”€ BubbleSorter - β”œβ”€β”€ SelectionSorter - β”œβ”€β”€ InsertionSorter - β”œβ”€β”€ MergeSorter - └── QuickSorter -``` - -> πŸ”‘ ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½: всС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΊΠ°ΠΊ **ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Ρ‹** (state machines). -> ΠœΠ΅Ρ‚ΠΎΠ΄ `step()` выполняСт Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄Π½Ρƒ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, -> Π½Π΅ блокируя Π³Π»Π°Π²Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°. - --- ## πŸ“œ ЛицСнзия ``` -MIT License β€” 2026 +MIT ``` ---
- πŸŽ“ made for college coursework  |  built with ❀️ and C++17 + πŸŽ“ made for college coursework  |  built with ❀️ by kolo