# Know Your Sorting Algorithm | Set 1 (Sorting Weapons used by Programming Languages)

• Difficulty Level : Easy
• Last Updated : 13 May, 2022

Ever wondered how sort() function we use in C++/Java or sorted() in Python work internally? Here is a list of all the inbuilt sorting algorithms of different programming languages and the algorithm they use internally.

1. C’s qsort() – Quicksort
• Best Case Time Complexity- O(NlogN)
• Average Case Time Complexity- O(NlogN)
• Worse Case Time Complexity- O(N2)
• Auxiliary Space- O(log N)
• Stable- Depends on the implementation of the comparator function
2. C++’s sort() – Introsort (Hybrid of Quicksort, Heap Sort and Insertion Sort
• Best Case Time Complexity- O(NlogN)
• Average Case Time Complexity- O(NlogN)
• Worse Case Time Complexity- O(NlogN)
• Auxiliary Space- O(logN)
• Stable- No
3. C++’s stable_sort() – Mergesort
• Best Case Time Complexity- O(NlogN)
• Average Case Time Complexity- O(NlogN)
• Worse Case Time Complexity- O(NlogN)
• Auxiliary Space- O(N)
• Stable- Yes
4. Java 6’s Arrays.sort() – Quicksort
• Best Case Time Complexity- O(NlogN)
• Average Case Time Complexity- O(NlogN)
• Worse Case Time Complexity- O(N2)
• Auxiliary Space- O(logN)
• Stable- Depends
5. Java 7’s Arrays.sort() – Timsort (Hybrid of Mergesort and Insertion Sort)
• Best Case Time Complexity- O(N)
• Average Case Time Complexity- O(NlogN)
• Worse Case Time Complexity- O(NlogN)
• Auxiliary Space- O(N)
• Stable- Yes
6. Java’s Collections.sort() – Mergesort
• Best Case Time Complexity- O(NlogN)
• Average Case Time Complexity- O(NlogN)
• Worse Case Time Complexity- O(NlogN)
• Auxiliary Space- O(N)
• Stable- Yes
7. Python’s sorted() – Timsort (Hybrid of Mergesort and Insertion Sort)
• Best Case Time Complexity- O(N)
• Average Case Time Complexity- O(NlogN)
• Worse Case Time Complexity- O(NlogN)
• Auxiliary Space- O(N)
• Stable- Yes
8. Python’s sort() – Timsort (Hybrid of Mergesort and Insertion Sort)
• Best Case Time Complexity- O(N)
• Average Case Time Complexity- O(NlogN)
• Worse Case Time Complexity- O(NlogN)
• Auxiliary Space- O(N)
• Stable- Yes