STL Sort
sort()
algorithm
header
Usage
int main()
{
int arr[] = { 1, 5, 8, 9, 6, 7, 3, 4, 2, 0 };
int n = sizeof(arr) / sizeof(arr[0]);
/*Here we take two parameters, the beginning of the
array and the length n upto which we want the array to
be sorted*/
sort(arr, arr + n);
}
Reverse
Use <functional>
header and std::greater
Src
sort( &arr[0], &arr[n], greater<int>() )
or any boolean return function Queue
qsort()
stdlib.h
header
Usage
void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))
-
base − This is the pointer to the first element of the array to be sorted.
-
nitems − This is the number of elements in the array pointed by base.
-
size − This is the size in bytes of each element in the array.
-
compar − This is the function that compares two elements. Return
INT
-
example
#include <stdio.h>
#include <stdlib.h>
int values[] = { 88, 56, 100, 2, 25 };
int cmpfunc (const void *a, const void *b) {
return ( *(int*)a - *(int*)b );
}
int main () {
printf("Before sorting the list is: \n");
for(int n = 0 ; n < 5; n++ ) {
printf("%d ", values[n]);
}
qsort(values, 5, sizeof(int), cmpfunc);
printf("\nAfter sorting the list is: \n");
for(int n = 0 ; n < 5; n++ ) {
printf("%d ", values[n]);
}
}