title: Why do we need to learn different Sorting algorithms when the STL sort function is already available to us in C++?
body: <p>Yesterday, this question came in my mind. Although I have neither read all the sorting algorithms like Quicksort, Merge Sort, Heapsort
  Insertion Sort,
  Selection Sort, and
  Bubble Sort nor I have read the Introduction to Algorithms by CLRS but still, I am curious to know why there is a need to learn all such algorithms when the pre-defined sort function is already available to us in many languages.</p>