int
arr[] = {1, 5, 8, 9, 6, 7, 3, 4, 2, 0};
int
n =
sizeof
(arr)/
sizeof
(arr[0]);
sort(arr, arr+n); //0 1 2 3 4 5 6 7 8 9
sort in descending order?
sort(arr, arr+n, greater<
int
>()); //9 8 7 6 5 4 3 2 1 0
sort in particular order?
// A C++ program to demonstrate STL sort() using
// our own comparator
#include
using
namespace
std;
// An interval has start time and end time
struct
Interval
{
int
start, end;
};
// Compares two intervals according to staring times.
bool
compareInterval(Interval i1, Interval i2)
{
return
(i1.start < i2.start);
}
int
main()
{
Interval arr[] = { {6,8}, {1,9}, {2,4}, {4,7} };
int
n =
sizeof
(arr)/
sizeof
(arr[0]);
// sort the intervals in increasing order of
// start time
sort(arr, arr+n, compareInterval);
cout <<
"Intervals sorted by start time : \n"
;
for
(
int
i=0; i
cout <<
"["
<< arr[i].start <<
","
<< arr[i].end
<<
"] "
;
return
0;
}
Intervals sorted by start time : [1,9] [2,4] [4,7] [6,8]
------------
This searching only works when container is sorted.
vector<
int
> arr = {10, 15, 20, 25, 30, 35};
// using binary_search to check if 15 exists
if
(binary_search(arr.begin(), arr.end(), 15))
cout <<
"15 exists in vector"
;
else
cout <<
"15 does not exist"
;
No comments:
Post a Comment