My ongoing quest of making a program that visualizes sorting algorithms has come to a close. I’m really happy with this new iteration because it’s bigger and better than the last one.

function

  1. Visualizes different sorts
  2. Can generate random array of numbers
  3. Can generate descending array of numbers
  4. Has a speed slider to change how fast/slow the sorting and generating goes

sorts

  1. Bubble
  2. Insertion
  3. Selection
  4. Shell
  5. Quick
  6. Merge
  7. Heap
  8. Radix

what i learned

  1. More Python practice.
  2. PyQt5 for GUI.
  3. QtDesigner.
  4. General GUI design ideas.
  5. Better understanding of sorting algorithms.
  6. Some CSS.

resources

notes

My last one only had iterative sorts because I honestly wasn’t really sure how object orinted functions with parameters work in Python and didn’t really want to think much of it because I was already confused about PyQt5 at the time. With more PyQt5 practice, I got more comfortable and chose to tackle more sorts in this new version. I realized I wanted even more bars to play around with so I made the bars thinner and added 10x more! (total of 100). The only issue I have with is that PyQt5 has a visual glitch when it comes to progress bars where you have to tab out and back into the program to remove the visual artifacts left by the bars.

images

v3

v3

v2

v2

v1

v1