Standard Template Library STL - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

Standard Template Library STL

Description:

Learn about the Standard Template Library (STL) ... ostream_iterator Type osIdentifier(ostream&, char* deLimit); Data Structures Using C ... – PowerPoint PPT presentation

Number of Views:305
Avg rating:3.0/5.0
Slides: 36
Provided by: manasi88
Category:

less

Transcript and Presenter's Notes

Title: Standard Template Library STL


1
Chapter 4
  • Standard Template Library (STL)

2
Chapter Objectives
  • Learn about the Standard Template Library (STL)
  • Become familiar with the three basic components
    of the STL containers, iterators, and algorithms
  • Explore how vector and deque containers are used
    to manipulate data in a program
  • Discover the use of iterators

3
Components of the STL
  • Containers
  • Iterators
  • Algorithms

4
Container Types
  • Sequence containers (sequential containers)
  • Associative containers
  • Container adapters

5
Sequence Containers
  • Vector
  • Deque
  • list

6
Ways to Declare and Initialize a Vector Container
7
Operations to Access the Elements of a Vector
Container
8
Operations on a Vector Container
9
Functions to Determine the Size of a Vector
Container
10
Member Functions Common to All Containers
11
Member Functions Common to All Containers
12
Member Functions Common to All Sequence Containers
13
Prototype of function template copy
  • templateltclass inputIterator, class
    outputIteratorgt
  • outputItr copy(inputIterator first1,
    inputIterator last,
  • outputIterator first2)

14
Sequence Container deque
  • Deque double-ended queue
  • Implemented as dynamic arrays
  • Elements can be inserted at both ends
  • To use deque container in a program include
    statement
  • include ltdequegt

15
Ways to Declare a deq Object
16
Operations that Can Be Performed on a deq Object
17
Types of Iteration
  • Input Iterators
  • Output Iterators
  • Forward Iterators
  • Bidirectional Iterators
  • Random Access Iterators

18
Operations on an Input Iterator
19
Operations on an Output Iterator
20
Operations on a Forward Iterator
21
Operations on a Bidirectional Iterator
22
Operations on a Random Access Iterator
23
Iterator Hierarchy
24
typedefs Common to All Containers
25
istream_iterator
  • Used to input data into a program from an input
    stream
  • General syntax
  • istream_iteratorltTypegt isIdentifier(istream)

26
ostream_iterator
  • Contains the definition of an output stream
    iterator
  • General syntax
  • ostream_iteratorltTypegt osIdentifier(ostream)
  • or
  • ostream_iteratorltTypegt osIdentifier(ostream,
    char deLimit)

27
Programming Example Grade Report (Input)
  • A sample input file follows
  • 345
  • Lisa Miller 890238 Y 4
  • Mathematics MTH345 4 A
  • Physics PHY357 3 B
  • ComputerSci CSC478 3 B
  • History HIS356 3 A
  • .
  • .
  • .

Input A file containing the data in the form
shown previously. Assume the name of the input
file is ch4_GradeData.txt and is on floppy disk A.
28
Programming Example Grade Report (Output)
  • The desired output for each student is of the
    following form
  • Student Name Lisa Miller
  • Student ID 890238
  • Number of courses enrolled 4
  • Course No Course Name Credits Grade
  • CSC478 ComputerSci 3 B
  • HIS356 History 3 A
  • MTH345 Mathematics 4 A
  • PHY357 Physics 3 B

29
Programming Example Grade Report
  • Course Component
  • Set the course information
  • Print the course information
  • Show the credit hours
  • Show the course number
  • Show the grade

30
UML Diagram of the class courseType
31
Programming Example Grade Report
  • Student Component
  • Set the student information
  • Print the student information
  • Calculate the number of credit hours taken
  • Calculate the GPA
  • Calculate the billing amount
  • Because the grade report will print the courses
    in ascending order, sort the courses according to
    the course number

32
UML Diagram of the class studentType and the
Inheritance Hierarchy
33
Programming Example Grade Report (Main Algorithm)
  • Declare the variables
  • Open the input file
  • If the input file does not exist, exit the
    program
  • Open the output file
  • Get the tuition rate
  • Load the students data
  • Print the grade reports

34
Chapter Summary
  • Components of the STL
  • Types of Containers
  • Operations on Containers
  • Sequence Containers
  • Deque
  • Vector

35
Chapter Summary
  • Iterators
  • Types of iteration
  • Operations on iterators
  • Programming example
Write a Comment
User Comments (0)
About PowerShow.com