***Welcome to ashrafedu.blogspot.com * * * This website is maintained by ASHRAF***

Saturday, July 24, 2021

Standard Template Library (STL)

The Standard Template Library (STL) is a set of C++ template classes to provide common programming data structures and functions such as lists, stacks, arrays, etc. It is a library of container classes, algorithms, and iterators. 

STL is mainly composed of:

  1. Algorithms
  2. Containers
  3. Iterators

STL is a generic library , i.e a same container or algorithm can be operated on any data types.

Algorithms in STL

STL provide number of algorithms that can be used of any container, irrespective of their type. Algorithms library contains built in functions that perform complex algorithms on the data structures.

Example: one can reverse a range with reverse() function, sort a range with sort() function, search in a range with binary_search() and so on. 

Algorithm library provides abstraction, i.e you don't necessarily need to know how the the algorithm works.

Containers in STL

Container library in STL provide containers that are used to create data structures like arrays, linked list, trees etc.

These container are generic, they can hold elements of any data types, for example: vector can be used for creating dynamic arrays of char, integer, float and other types.

Iterators in STL

Iterators in STL are used to point to the containers. Iterators actually act as a bridge between containers and algorithms.

Example: sort() algorithm have two parameters, starting iterator and ending iterator, now sort() compare the elements pointed by each of these iterators and arrange them in sorted order, thus it does not matter what is the type of the container and same sort() can be used on different types of containers.

No comments:

Post a Comment