PRESENTED BY: 17040603 RAJKRISHNADEEPAK.VUYYURU 17035523 SWAMYCHANDAN.DONDAPATI 17028670...

14
PRESENTED BY: 17040603 RAJKRISHNADEEPAK.VUYYURU 17035523 SWAMYCHANDAN.DONDAPATI 17028670 VINESHKUMARREDDY.LANKA 17040235 RAJSEKHARTIRUMALA ALAN GOUDE

Transcript of PRESENTED BY: 17040603 RAJKRISHNADEEPAK.VUYYURU 17035523 SWAMYCHANDAN.DONDAPATI 17028670...

PRESENTED BY:

17040603 RAJKRISHNADEEPAK.VUYYURU

17035523 SWAMYCHANDAN.DONDAPATI

17028670 VINESHKUMARREDDY.LANKA

17040235 RAJSEKHARTIRUMALA KANDURI

ALAN GOUDE

A generic library to manage collections of data with efficient algorithms.

The STL is a complex piece of software engineering that uses some of C++'s most sophisticated features

The Standard Template Library is mainly composed of generic container class templates and a set of many efficient template algorithms designed to work with, and manipulate, the containers.

The classes declared and defined in STL use templates to their fullest capacity, enabling truly generic programming for C++ programmers.

The template syntax that describes the STL can seem quite intimidating.

Although it looks more complicated than it is actually , while there is nothing in STL that is any more difficult than the other features of C++.

STL defines various routines that access them. Because the STL is constructed from template classes, the algorithms and data structures can be applied to nearly any type of data.

S TANDARD

TEMPLATE

LIBRARY

ITERATOR

ALGORITHM

ITERATOR

ITERATOR

STRUCTURAL FLOW OF STL COMPONENTS

CONTAINER

Container classes are c++ classes that act as container for other objects, suchasanarrayor a linked list.

A common type of a container is it's an "Array", a built in feature of c++.containers are more powerful, flexible than arrays.

Containers have its own memory as well as its track record of objects they hold.

Container classes provide structured, dynamic storage in reusable modules that you can easily plug in to any program where they might be needed

Containers are called as building blocks as they are used to create object -oriented programs and which make the internals of a program to construct more easily.

CONTAINERS

Queue Queue is also known as “ First IN First OUT ".

Queue is a data structure that represents a line.

The elements that are placed in the queue are the longest one in the queue that can be accessed first.

The data items enter the queue at the Rear and leaves from the Front The operation used to enter the data item into the queue is called Enqueue and

operation used to remove the data item is called Dequeue.

syntax Template <class T, Class container = deque <T> > class queue

T--> type of data being stored

MEMBER FUNCTIONS OF QUEUE

Map:

The map class provides look up using a rapid key based look up.

Duplicates are not allowed.

The elements in the map are in the form of pairs containing keys and values. Insertions and deletions are possible at any where in the map.

To insert an element into map requires a pair object that has the key and a value.

The map cannot store more than one value against each key because each key can only appear once, if you try and add a second instance of the same key, then that will supersede the existing one.

Some Map Access Functions Purpose ------------------------- ------- begin() Returns iterator pointing to first

element end() Returns iterator pointing _after_ last

element swap( , ) Swap two elements insert( , ) Insert a new element size() Number of elements in map max_size() Maximum possible number of

elements in map empty() True if map is empty [] "Subscript search" access operator

Map Access functions Purpose

begin() Returns iterator pointing to first element end() Returns iterator pointing _after_ last element swap( , ) Swap two elements insert( , ) Insert a new element size() Number of elements in map max_size() Maximum possible number of elements in map empty() True if map is empty [] "Subscript search" access operator

Some Map Access Functions:

ITERATORS

An Iterator points one element then it can be increased to the next element.

ITERATORS are generic programmes.because they are the interface between containers and algorithms.

Iterators take algorithm as argument, So the container must act to access their element to iterators.There is a possibilty of algorithms that operates different kinds of container.

Iterators are used to iterate a range of objects. if related to iterators and several pre-defined iterators.

Syntax :

std::class_name<template_parameters>:: iterator name

TYPES OF ITERATORS

Algorithms

An algorithm is nothing but single sequential flow of control

Many common algorithms are implemented for queues and maps.

Sorting, searching, inserting, deleting, shuffling, permuting, rotating, reversing, moving, copying, counting, minimum and maximum are some

types of algorithms.

Types of algorithms

Mutating Sequence Algorithms copy(), remove(), replace(), fill(), swap()

Non Modifying sequence Algorithms find(), count(),search(), mismatch(), equal()

Numerical Algorithms accumulate(), partial_sum(), inner_product(), and adjacent_difference()