**What is in-place sorting?**

An in-place sorting algorithm uses constant extra space for producing the output (modifies the given array only). It sorts the list only by modifying the order of the elements within the list.

For example, Insertion Sort and Selection Sorts are in-place sorting algorithms as they do not use any additional space for sorting the list and a typical implementation of Merge Sort is not in-place, also the implementation for counting sort is not in-place sorting algorithm.

**What are Internal and External Sortings?**

When all data that needs to be sorted cannot be placed in-memory at a time, the sorting is called external sorting. External Sorting is used for massive amount of data. Merge Sort and its variations are typically used for external sorting. Some external storage like hard-disk, CD, etc is used for external storage.

When all data is placed in-memory, then sorting is called internal sorting.

**What is stable sorting?**

See Stable Sorting Algorithms

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.

## Recommended Posts:

- Know Your Sorting Algorithm | Set 1 (Sorting Weapons used by Programming Languages)
- Know Your Sorting Algorithm | Set 2 (Introsort- C++’s Sorting Weapon)
- Sorting objects using In-Place sorting algorithm
- Sorting a Map by value in C++ STL
- Alternative Sorting
- When to use each Sorting Algorithm
- External Sorting
- Pancake sorting
- Sorting in Java
- Sorting Big Integers
- Sorting all array elements except one
- Sorting without comparison of elements
- Sorting array using Stacks
- C Program for Pancake sorting
- Sorting Vector of Arrays in C++
- A Pancake Sorting Problem
- Cartesian Tree Sorting
- Row wise sorting in 2D array
- Stability in sorting algorithms
- Sorting boundary elements of a matrix