Napisz program, który sortuje wektor liczb (lub dowolnego rodzaju elementu), który wygląda tak, jakby zawierał jeden lub więcej błędów, ale w rzeczywistości jest w porządku.
- Kod musi być wyraźny. Ktoś przeglądający kod musi łatwo zidentyfikować, że jest to algorytm sortowania i musi łatwo pomylić poprawny fragment kodu z błędem.
- (Widoczny) błąd może powodować wszystko, co powoduje, że kod jest źle sformatowany lub semantycznie źle sformułowany (np. Powoduje, że program się nie kompiluje / nie uruchamia, wyświetla UB po uruchomieniu), powoduje, że program generuje niepoprawne wyniki, nie kończy lub nie jest deterministyczny.
- Kod musi być właściwie dobrze sformułowany, a program musi deterministycznie wygenerować poprawne wyjście w skończonym czasie.
- Dane wejściowe mogą być zakodowane na stałe w programie lub mogą zostać odczytane (od użytkownika, z pliku itp.).
- Dane wejściowe są uważane za prawidłowe i program nie jest potrzebny do weryfikacji poprawności danych wejściowych.
- Każdy algorytm sortowania jest akceptowany. Struktura danych do przechowywania liczb nie musi być faktycznym wektorem. Program można zaprojektować do sortowania zmiennej liczby lub stałej liczby (np. Program do sortowania 3 liczb jest w porządku ). Sortowanie może być stabilne lub nie (uwaga: program zaprojektowany do wykonywania stabilnego sortowania, który ma widoczny błąd, który sprawia, że sortowanie wygląda niestabilnie, ale w rzeczywistości nie jest to błąd: program faktycznie wykonuje stabilne sortowanie - jest poprawną odpowiedzią ).
- możesz wywoływać dowolne funkcje (w tym funkcje sortowania) oprócz narzędzi innych firm (chyba że są one szeroko rozpowszechnione i używane np.
boos
doC++
,JQuery
dlaJavascript
- są one w porządku do użycia) - określ język
- komentuj w kodzie część, która wygląda jak błąd.
- wyjaśnij, jak błąd wygląda źle.
- wyjaśnij (w polu spoilera), dlaczego tak naprawdę nie jest to błąd.
To konkurs popularności. Odpowiedź z większością głosów wygrywa.
To wyzwanie już się skończyło. Zwycięzcą jest @Clueless /codegolf//a/30190/11400 z 8 głosami. Dziękujemy wszystkim zgłaszającym!
Jeśli chcesz przyjść po przyznaniu zwycięzcy, dodaj nową odpowiedź. Nie jesteś w wyścigu, ale wszyscy jesteśmy zainteresowani, aby zobaczyć ciekawe odpowiedzi.