Scrivi un programma che ordina un vettore di numeri (o qualsiasi tipo di elemento) che sembra avere uno o più bug, ma in realtà è ok.
- Il codice deve essere chiaro. Qualcuno che osserva il codice deve facilmente identificare che si tratta di un algoritmo di ordinamento e deve facilmente confondere un pezzo di codice corretto con un bug.
- Il bug (apparente) può, per qualsiasi cosa, rendere il codice sintatticamente o semanticamente mal formato (ad esempio, rendere il programma non compilare / eseguire, mostrare UB quando eseguito), fare in modo che il programma produca risultati errati, non terminare o non deterministico.
- Il codice deve effettivamente essere ben formato e il programma deve determinare in modo deterministico l'output corretto in un tempo finito.
- L'input può essere hard coded nel programma o può essere letto (dall'utente, dal file ecc.).
- L'input è considerato valido e il programma non è necessario per verificare la correttezza dell'input.
- È accettato qualsiasi algoritmo di ordinamento. La struttura dei dati per contenere i numeri non è necessaria per essere un vettore reale. Il programma può essere progettato per ordinare un numero variabile di numeri o un numero fisso di numeri (ad es. Un programma per ordinare 3 numeri è ok ). L'ordinamento può essere stabile o no (nota: un programma progettato per eseguire un ordinamento stabile che presenta un bug apparente che rende instabile l'ordinamento, ma in realtà non è un bug: il programma esegue effettivamente un ordinamento stabile - è una risposta valida ).
- puoi chiamare qualsiasi funzione (comprese le funzioni di ordinamento) tranne gli strumenti di terze parti (a meno che non siano ampiamente diffusi e utilizzati, ad esempio
boos
perC++
,JQuery
perchéJavascript
- sono accettabili) - specifica la lingua
- commentare in codice la parte che sembra un bug.
- spiegare che aspetto ha il bug nel fare qualcosa di sbagliato.
- spiegare (in una scatola dello spoiler) perché in realtà non è un bug.
Questo è un concorso di popolarità. Vince la risposta con il maggior numero di voti.
Questa sfida è finita. Il vincitore è @Clueless /codegolf//a/30190/11400 con 8 voti. Grazie a tutti i partecipanti!
Se vuoi entrare dopo che il vincitore è stato assegnato, non esitare ad aggiungere una nuova risposta. Sei fuori gara, ma siamo tutti interessati a vedere risposte interessanti.