Sort in C++ Standard Template Library (STL)

Sorting is one of the most basic functions applied to data. It means arranging the data in a particular fashion, which can be increasing or decreasing. There is a builtin function in C++ STL by the name of sort().
This function internally uses IntroSort. In more details it is implemented using hybrid of QuickSort, HeapSort and InsertionSort.By default, it uses QuickSort but if QuickSort is doing unfair partitioning and taking more than N*logN time, it switches to HeapSort and when the array size becomes really small, it switches to InsertionSort.
The prototype for sort is :

sort(startaddress, endaddress)

startaddress: the address of the first element of the array
endaddress: the address of the next contiguous location of the last element of the array.
So actually sort() sorts in the range of [startaddress,endaddress)
filter_none

edit
close

play_arrow

link
brightness_4
code

#include <iostream>
#include <algorithm>
  
using namespace std;
  
void show(int a[])
{
    for(int i = 0; i < 10; ++i)
        cout << a[i] << " ";
}
  
int main()
{
    int a[10]= {1, 5, 8, 9, 6, 7, 3, 4, 2, 0};
    cout << "\n The array before sorting is : ";
    show(a);
  
    sort(a, a+10);
  
    cout << "\n\n The array after sorting is : ";
    show(a);
  
    return 0;
  
}

chevron_right


 
The outut of the above program is :

The array before sorting is : 1 5 8 9 6 7 3 4 2 0
The array after sorting is : 0 1 2 3 4 5 6 7 8 9

 



Refer std::sort() for more details.



My Personal Notes arrow_drop_up

Improved By : manish095, hrshtmuhal8

Article Tags :
Practice Tags :


36


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.