What would be the "least boring" sorting algorithm?
What would be the "least boring" sorting algorithm?
I'm currently working on a little web app that allows the user to sort a list of elements (like a tier-list maker).
Instead of just asking the user to sort the list through drag'n drop, I thought I could run a sorting algorithm that would ask the user every time it needs to make a comparison.
The whole thing would feel a bit magic, since you would have several questions like "Which one do you prefer, A or B?" and get your sorted list.
The question is: which algorithm should I use to keep the user entertained? I don't want to compare A with everything, then B with everything and so on with something like a Bubble Sort, that would be boring.
What do you think about it? Please be aware this is not a big project, just something I make out of curiosity. Thanks in advance!
Edit:
As an example, let's say I want to sort fruits by personal preference.
I have a list [Apple, Banana, Coconut, Durian, Eggplant, Fig, Grape] but no algorithm can tell if I prefer an apple or a banana so it needs to ask me.
What would be the questions an algorithm needs to ask me in order to sort the list of fruits for me?
The idea behind it is not to sort stuff but to spark discussion during the "comparison" step ("Ok, why do you prefer bananas to apples?"), that's why I need successive comparisons to be different, so it keeps the users' interest.
It might be something that is pretty different than what you are looking for, but for interactivity it might be funnier and less repetitive if you demonstrate some sort of bucket/radix sort to not have comparisons at all "choose which buket this number should go into"
Maybe also mergesort would be fun to simulate. You can split the array as usual and then ask the user to pick which number should go next from the two lists.
Merge sort is really promising since I can first break my list into pairs, sort every pair (if my list is randomized, those pairs are random, which is good for entertainment) and then alternate between the different merges so we don't focus on one half of the list
And add some random caracters in the comparaison like emojis nulber, or one number is written in letter, or which side have more cat and you show emoji cat or picture with cats. Be creative on the number presentation to add some sillyness and fun