Bubble sort: stable Only swaps when the order is wrong. Insertion sort: stable When inserting, the search only continues until the next element is less than or equal to what is being inserted, so an element is always inserted at higher indices than all equal elements. Mergesort: usually stable, but depends on implementation e.g if splitting so that all elements in the left part came before the elements in the right part, and then merging by preferring elements from the left part when equal, then it will be stable. Selection sort: not stable The swapping can cause an element to be moved past equal elements. Quicksort: not stable One can swap so that equal elements get a different order when partitioning or moving the pivot. Heapsort: not stable Removal from the heap gives the equal elements in any order.