In C++, **headers** or **header files** store the predefined functions. They contain the definition/declaration of functions, libraries, variables, classes, etc. Using headers, we don’t need to create numerous functions and algorithms from scratch.

The syntax to include/import any library or function in C++ is given below:

//general sytax#include <libraryName>//or#include <libraryName.h>

Syntax to include header

We can include any library in C++ by using the `include`

keyword with a hash symbol `#`

and specifying the library’s name in angle brackets.

`<algorithm>`

libraryIn this Answer, we’ll go through the `<algorithm>`

library available in C++. To use the built-in algorithms, we need to include the `<algorithm>`

header/library. The algorithm library is a part of the `<algorithm>`

library:

#include <algorithm>

We’re going to use the `<algorithm>`

header to simplify the usage of:

Searching algorithms

Sorting algorithms

**Searching algorithms** determine whether specific data exists or not. They’re also helpful in finding the location of data (if it exists). There are a lot of search algorithms available in the `<algorithm>`

library.

`find()`

functionThe `find()`

function is a part of the `<algorithm>`

library/header. It searches for an element and returns its first occurrence.

#include <iostream>#include <algorithm>using namespace std;int main() {int val = 20;int array_1[] = {13, 17, 3, 29, 5};int arr_size = sizeof(array_1) / sizeof(array_1[0]);auto it = find(array_1, array_1 + arr_size, val);if(*it == val)cout<<"Found\n";elsecout<<"Not found";return 0;}

**Explanation**

**Line 1-3:**Include the required libraries.**Line 9:**Use`find()`

function to search an element stored in a`val`

variable.**Lines 10-13:**Check whether the value exists by comparing the iterator value with the actual value.

`binary_search()`

functionThe `binary_search()`

function is also a part of `<algorithm>`

library. It searches for an element in an ordered list/array.

#include <iostream>using namespace std;#include <algorithm>int main() {int array_1[] = {1000, 1200, 1500, 2000, 3000, 3500};int arr_size = sizeof(array_1) / sizeof(array_1[0]);bool found = binary_search(array_1, arr_size + array_1, 3000);if (found)cout<<"Found\n";elsecout<<"Not found";return 0;}

**Explanation**

**Line 1–3:**Include the required libraries.**Line 9:**Use the`binary_search()`

function to search an element stored in the array`arr`

.**Lines 11–14:**Check if the value exists.

The purpose of the **sorting algorithm** is to sort the given collection of data. Like search algorithms, sorting algorithms/functions can also be used with the help of the `<algorithm>`

library, and `sort()`

is one such function.

`sort()`

functionThe `sort()`

function takes two arguments, the starting and ending index of an array/list. It also accepts a third parameter, which specifies the sorting criteria.

#include <iostream>using namespace std;#include <algorithm>int main(){int array_1[] = {13, 17, 3, 29, 5};int arr_size = sizeof(array_1) / sizeof(array_1[0]);sort(array_1, arr_size + array_1);cout<<"The array after sort function: ";for(auto m=0; m<arr_size; m++){cout<<array_1[m]<<" ";}return 0;}

**Explanation**

**Line 1–3:**Include the required libraries.**Line 9:**Find the size of the`array_1`

array.**Line 10:**Use the`sort()`

function to sort the`array_1`

array.**Lines 12–15:**Print the sorted array.

The `<algorithm>`

library also has numerous other algorithms available. Some of these algorithms are given below:

`count()`

`move()`

`transform()`

`swap()`

`accumulate()`

In conclusion, we can see that it’s possible to include headers/libraries in our code and use the functions available in that library without implementing them from scratch.

Copyright ©2024 Educative, Inc. All rights reserved

TRENDING TOPICS