Sorting in C++: Five Algorithms, Stability, and What the Merge Step Buys You

Almost nobody implements a sorting algorithm at work. You call std::sort and move on. So the usual defence of learning them — “it builds fundamentals” — is doing a lot of unpaid labour in that sentence. Here is a better reason, and it is the one this post is built on. Three of the five algorithms below contain a reusable subroutine that shows up as LeetCode problems in its own right. Merge sort’s merge step is a problem. Quicksort’s partition step is four problems. And one character inside merge sort decides whether the algorithm is stable, which changes what you READ MORE

Intro to Quicksort Algorithm

Quicksort is one of the most popular sorting algorithms.Although there are quite a few sorting algorithms such as mergesort, heapsort quicksort has a unique property that is noteworthy.In general, quicksort performs better than others due to its property under a certain condition. Let’s take a look at the basics of quicksort! How does quicksort work? Quicksort sorts the array by partitioning the array recursively which is one of divide and conquer sorting algorithms.Quicksort first selects a random element and partitions the elements based on the selected element which is called a pivot.All the elements that are less than the pivot READ MORE