C++ 프로그래밍실습. Visual Studio Smart Computing Laboratory
|
|
- Daniel Haynes
- 5 years ago
- Views:
Transcription
1 C++ 프로그래밍실습 Visual Studio 2015
2 Contents STL Exercise
3 Practice1 STL
4 Practice 1-1 : Sets The insert method of set class ensures that the set does not contain duplicate keys Without specified position s.insert(123); // insert somewhere of set s It can also be invoked in similar fashion to a vector s, s.insert(s.begin(), 66) // insert at the beginning of set s s.insert(s.end(), 99); // insert at the end of set s Unlike a vector, keys of a set do NOT ordered or accessed directly by index The set provides the find method It checks whether a set contains a specified key If so, it returns an iterator that marks the key Otherwise, returns an iterator that marks the end it = s.find(123); if (it == s.end()) throw string( key not found );
5 Practice 1-1 : Sets #include<iostream> #include<set> using namespace std; int main() { set<int> s; { s.insert(40); s.insert(10); s.insert(80); s.insert(30); s.insert(70); s.insert(60); s.insert(20); s.insert(50); set<int>::iterator iter; for (iter = s.begin(); iter!= s.end(); iter++) cout << *iter << " "; cout << endl; // 존재하는원소찾기 iter = s.find(30); if (iter!= s.end()) { cout << *iter << ": 존재 " << endl; else { cout << " 존재하지않음 " << endl; // 존재하지않는원소찾기 iter = s.find(3333); if (iter!= s.end()) { cout << *iter << ": 존재 " << endl; else { cout << " 존재하지않음 " << endl; { // 중복값넣어보기. s.insert(20); for (iter = s.begin(); iter!= s.end(); iter++) cout << *iter << " "; cout << endl; Execution Result: : 존재존재하지않음
6 Practice 1-2 : Maps A map is an association list, i.e., a list that associates a key with a value Thus, it is instantiated with two parameters key and value map<string, int> m1; map<int, float> m2; // string key, int value // int key, float value A map provides two ways to insert and access (key, value) pairs Like all other basic containers, it provides an insert method and as an associate container, it provides a find method In addition, it overloads subscript operator [] for both insertions and accesses m1[ one ] = 10; // == m1.insert( one, 10) m1[ two ] = 20; // == m1.insert( two, 20) m2[1] = 10.0; // == m2.insert(1, 10.0) m2[2] = 20.0; // == m2.insert(2, 20.0) cout >> m1[ one ] >> endl >> m2[1] >> endl; // prints 10 and 10.0
7 #include<iostream> #include<map> #include<string> using namespace std; int main() { map<int, string> m; m.insert(pair<int, string>(20, " 대학교 ")); m.insert(pair<int, string>(50, "c++")); m.insert(pair<int, string>(10, " 건국 ")); m.insert(pair<int, string>(30, " 컴퓨터 ")); m.insert(pair<int, string>(40, " 학과 ")); m.insert(pair<int, string>(60, " 프로그래밍 ")); m.insert(pair<int, string>(70, " 수업 ")); map<int, string>::iterator iter; Practice 1-2 : Maps // 접근방법 1 for (iter = m.begin(); iter!= m.end(); iter++) { cout << "[" << iter->first << "," << iter->second << "]" << " "; cout << endl; // 접근방법 2 for (iter = m.begin(); iter!= m.end(); iter++) { cout << "[" << (*iter).first << "," << (*iter).second << "]" << " "; cout << endl; Execution Result: [10, 건국 ] [20, 대학교 ] [30, 컴퓨터 ] [40, 학과 ] [50,c++] [60, 프로그래밍 ] [70, 수업 ] [10, 건국 ] [20, 대학교 ] [30, 컴퓨터 ] [40, 학과 ] [50,c++] [60, 프로그래밍 ] [70, 수업 ]
8 Practice 1-3 : stack Adaptor Adapts a deque container by default Definition stack<char> s; is equivalent to stack<char, deque<char>> s; We could force to adapt a vector stack<char, vector<char>> s; Methods push(e): inserts given element e into the stack pop(): removes the top element from the stack (returns void, normally follows top) top(): returns the top element of the stack without removing it empty(): returns whether the stack is empty or not (returns bool)
9 #include <stdio.h> #include <iostream> #include <stack> using namespace std; int main() { Practice 1-3 : stack Adaptor stack<int> stack; //int type stack create stack.push(4); //push 4, 5, 6 to stack stack.push(5); stack.push(6); cout << "stack size : " << stack.size() << endl; //stack size cout << stack.top() << endl; //get top element of stack stack.pop(); // remove top element of stack cout << stack.top() << endl; stack.pop(); cout << stack.top() << endl; stack.pop(); if (stack.empty()) { // check if stack is empty cout << "stack is empty " << endl; Execution Result: stack size : stack is empty
10 Practice 1-4 : queue Adaptor Adapts a deque container by default Definition queue<int> q; is equivalent to queue<int, deque<int>> q; We could also force to adapt a vector queue<int, vector<int>> q; [ An object of a derived class ] Methods push(e): inserts given element e into the queue pop(): removes the front element from the queue (returns void, normally follows front) front(): returns the front element of the queue without removing it empty(): returns whether the queue is empty or not (returns bool)
11 Practice 1-4 : queue Adaptor #include<iostream> #include<queue> using namespace std; int main() { queue<int> q; cout << endl << "***** empty *****" << endl; cout << "size : " << q.size() << endl; cout << "empty : " << q.empty() << endl; q.push(10); q.push(20); q.push(30); q.push(40); q.push(50); q.push(60); q.push(70); cout << endl << "***** push *****" << endl; cout << "size : " << q.size() << endl; cout << "empty : " << q.empty() << endl; cout << "fornt : " << q.front() << endl; cout << "back : " << q.back() << endl; cout << endl << "***** front & pop*****" << endl; while (!q.empty()) { cout << q.front() << endl; q.pop(); ***** empty ***** size : 0 empty : 1 ***** push ***** size : 7 empty : 0 fornt : 10 back : 70 ***** front & pop***** Execution Result:
12 Practice 1-5 : priority_queue Adaptor Adapts a vector container by default Definition priority_queue<int> s; is equivalent to priority_queue<int, vector<int>> s; Ensures that a priority order is maintained during removals E.g., a priority_queue of integers might removes the integers in a descending order by value (i.e., large value first) Methods push(e): inserts given element e into the priority_queue pop(): removes the next priority element from the priority_queue (returns void, normally follows top) top(): returns the next priority element of the priority_queue without removing it empty(): returns whether the priority_queue is empty or not (returns bool)
13 Practice 1-5 : : priority_queue Adaptor #include<iostream> #include<queue> using namespace std; int main() { priority_queue<int> pq; cout << "empty : " << pq.empty() << endl; pq.push(20); cout << "empty : " << pq.empty() << endl; cout << "top : " << pq.top() << endl; pq.push(10); cout << "top : " << pq.top() << endl; pq.push(30); cout << "top : " << pq.top() << endl; pq.push(50); pq.push(40); cout << "top : " << pq.top() << endl; cout << "size: " << pq.size() << endl; pq.pop(); cout << "top : " << pq.top() << endl; while (!pq.empty()) { cout << pq.top() << endl; pq.pop(); empty : 1 empty : 0 top : 20 top : 20 top : 30 top : 50 size: 5 Execution Result: top :
14 Practice 1-6 STL Algorithms STL has rich assortment of algorithms for processing containers, which fall into some standard categories Sorting and searching Numerical processing Set operations Copying Algorithms are implemented as template functions STL containers are implemented as template classes STL algorithms processes a container by using iterators to traverse the container It does NOT require any container-specific information Works the same way on each container to be processed
15 Practice 1-6 : STL Algorithms #include<iostream> #include<algorithm> #include<vector> #include<string> using namespace std; class Student { public: string name; int age; Student(string name, int age):name(name), age(age){ ; void Print(vector<Student> &v) { cout << "Student : "; for (int i = 0; i < 5; i++) { cout << "[" << v[i].name << ", " << v[i].age << "]"; cout << endl; bool compare(student a, Student b) { if (a.name == b.name) // 이름이같으면, 나이가적은순 { return a.age < b.age; else // 이름이다르면, 이름사전순 { return a.name < b.name; int main() { vector<student> v; v.push_back(student("cc", 10)); v.push_back(student("ba", 24)); v.push_back(student("aa", 11)); v.push_back(student("cc", 8)); //cc 는이름이같으니나이기준오름차순 v.push_back(student("bb", 20)); Print(v); // 정렬전출력 sort(v.begin(), v.end(), compare); // compare 함수기준정렬 Print(v); // 정렬후출력 Execution Result: Student : [cc, 10][ba, 24][aa, 11][cc, 8][bb, 20] Student : [aa, 11][ba, 24][bb, 20][cc, 8][cc, 10]
16 Exercise 1. 2 차원평면위의점 N 개가주어진다. 좌표를 y 좌표가증가하는순으로, y 좌표가같으면 x 좌표가증가하는순서로정렬한다음출력하는프로그램을작성하시오. - 좌표는항상정수 - 위치가같은두점은없음 ex
17 Submit Teaching assistant: 장성수 Office: 신공학관 1216 호 ( 대학원 SCLab 연구실 ) pik1100@naver.com Title of the [2018][Practice#]_student# _ student _ name Ex) [2018][Practice12]_ _ 장성수 Create zip file. (C++ project folder) - 주의 : 메일양식이잘못될경우채점이되지않을수있음. 질문메일 : pik1100@naver.com : 장성수
18 끝
CSS 342 Data Structures, Algorithms, and Discrete Mathematics I. Standard Template Library
CSS 342 Data Structures, Algorithms, and Discrete Mathematics I Standard Template Library 1 Standard Template Library Need to understand basic data types, so we build them ourselves Once understood, we
More informationC++ 프로그래밍실습. Visual Studio Smart Computing Laboratory
C++ 프로그래밍실습 Visual Studio 2015 Templates & STL Contents Exercise Practice1 Templates & STL Practice 1-1 Template Classes #include using namespace std; template class Point { private:
More informationComputer Application and Practice 2: Templates and the Standard Template Library
Computer Application and Practice 2: Templates and the Standard Template Library 2014 Instructor: Young-guk Ha Dept. of Computer Science & Engineering Contents Basics on templates Template classes Template
More informationC++ 프로그래밍실습. Visual Studio Smart Computing Laboratory
C++ 프로그래밍실습 Visual Studio 2015 Contents Namespaces I/O Stream Exercise Practice1 -Namespaces Practice 1 : Namespaces Name conflict problem Occurs when an application tries to use more than two libraries
More informationC++ 프로그래밍실습. Visual Studio Smart Computing Laboratory
C++ 프로그래밍실습 Visual Studio 2015 Contents Inheritance Exercise Practice1 Inheritance Practice 1-1 : Inheritance What is inheritance? The heart of OO programming A mechanism to build a new class by deriving
More informationToday. andyoucanalsoconsultchapters6amd7inthetextbook. cis15-fall2007-parsons-lectvii.1 2
TEMPLATES Today This lecture looks at techniques for generic programming: Generic pointers Templates The standard template library Thebestreferenceis: http://www.cppreference.com/index.html andyoucanalsoconsultchapters6amd7inthetextbook.
More informationCSI33 Data Structures
Outline Department of Mathematics and Computer Science Bronx Community College November 22, 2017 Outline Outline 1 Chapter 12: C++ Templates Outline Chapter 12: C++ Templates 1 Chapter 12: C++ Templates
More informationChapter 5. The Standard Template Library.
Object-oriented programming B, Lecture 11e. 1 Chapter 5. The Standard Template Library. 5.1. Overview of main STL components. The Standard Template Library (STL) has been developed by Alexander Stepanov,
More informationSTL Standard Template Library
STL Standard Template Library September 22, 2016 CMPE 250 STL Standard Template Library September 22, 2016 1 / 25 STL Standard Template Library Collections of useful classes for common data structures
More informationStandard Template Library
Standard Template Library The standard template library (STL) contains CONTAINERS ALGORITHMS ITERATORS A container is a way that stored data is organized in memory, for example an array of elements. Algorithms
More informationC++: Overview and Features
C++: Overview and Features Richard Newman r.newman@rdg.ac.uk Room CS127 2003-12-11 Programming & Design, 2003 1 Introduction You have: used streams seen how classes are used seen some C++ code Today: good
More informationTHE STANDARD TEMPLATE LIBRARY (STL) Week 6 BITE 1513 Computer Game Programming
THE STANDARD TEMPLATE LIBRARY (STL) Week 6 BITE 1513 Computer Game Programming What the heck is STL???? Another hard to understand and lazy to implement stuff? Standard Template Library The standard template
More informationQueue Implementations
Queue Implementations 1 Circular Queues buffer of fixed capacity improvements and cost estimates 2 Deques the double ended queue queue as double linked circular list MCS 360 Lecture 17 Introduction to
More informationThe Standard Template Library Classes
The Standard Template Library Classes Lecture 33 Sections 9.7, 9.8 Robb T. Koether Hampden-Sydney College Wed, Apr 23, 2014 Robb T. Koether (Hampden-Sydney College) The Standard Template Library Classes
More informationCS197c: Programming in C++
CS197c: Programming in C++ Lecture 2 Marc Cartright http://ciir.cs.umass.edu/~irmarc/cs197c/index.html Administration HW1 will be up this afternoon Written assignment Due in class next week See website
More informationUnit 1: Preliminaries Part 4: Introduction to the Standard Template Library
Unit 1: Preliminaries Part 4: Introduction to the Standard Template Library Engineering 4892: Data Structures Faculty of Engineering & Applied Science Memorial University of Newfoundland May 6, 2010 ENGI
More informationPriority Queues and Huffman Trees
Priority Queues and Huffman Trees 1 the Heap storing the heap with a vector deleting from the heap 2 Binary Search Trees sorting integer numbers deleting from a binary search tree 3 Huffman Trees encoding
More informationthe Queue queue ADT using the STL queue designing the simulation simulation with STL queue using STL list as queue using STL vector as queue
the Queue 1 The Queue Abstract Data Type queue ADT using the STL queue 2 Simulating a Printer Queue designing the simulation simulation with STL queue 3 adapting STL list and vector using STL list as queue
More informationCSCI-1200 Computer Science II Spring 2006 Test 3 Practice Problem Solutions
CSCI-1200 Computer Science II Spring 2006 Test 3 Practice Problem Solutions 1. You are given a map that associates strings with lists of strings. The definition is: map words; Write
More informationSSE2034: System Software Experiment 3
SSE2034: System Software Experiment 3 Spring 2016 Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu STL Collection Types Template based set of collection
More informationAbstract Data Types 1
Abstract Data Types 1 Purpose Abstract Data Types (ADTs) Lists Stacks Queues 2 Abstract Data Types (ADTs) ADT is a set of objects together with a set of operations. Abstract in that implementation of operations
More informationTDDD38 - Advanced programming in C++
TDDD38 - Advanced programming in C++ STL II Christoffer Holm Department of Computer and information science 1 Iterators 2 Associative Containers 3 Container Adaptors 4 Lambda Functions 1 Iterators 2 Associative
More informationTemplate based set of collection classes STL collection types (container types)
STL Collection Types Template based set of collection classes STL collection types (container types) Sequences vector - collection of elements of type T list - doubly linked list, only sequential access
More informationContainers: Queue and List. Jordi Cortadella and Jordi Petit Department of Computer Science
Containers: Queue and List Jordi Cortadella and Jordi Petit Department of Computer Science Queue A container in which insertion is done at one end (the tail) and deletion is done at the other end (the
More informationAbstract Data Types. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University
Abstract Data Types CptS 223 Advanced Data Structures Larry Holder School of Electrical Engineering and Computer Science Washington State University 1 Purpose Abstract Data Types (ADTs) Lists Stacks Queues
More informationCPSC 427a: Object-Oriented Programming
CPSC 427a: Object-Oriented Programming Michael J. Fischer Lecture 17 November 1, 2011 CPSC 427a, Lecture 17 1/21 CPSC 427a, Lecture 17 2/21 CPSC 427a, Lecture 17 3/21 A bit of history C++ standardization.
More informationLecture 21 Standard Template Library. A simple, but very limited, view of STL is the generality that using template functions provides.
Lecture 21 Standard Template Library STL: At a C++ standards meeting in 1994, the committee voted to adopt a proposal by Alex Stepanov of Hewlett-Packard Laboratories to include, as part of the standard
More informationCSE 250: Data Structures Fall 2015 Sample Final Exam
Preferred Name: UBIT: CSE 250: Data Structures Fall 2015 Sample Final Exam DIRECTIONS: Closed Notes. Closed Book. No electronics. Time Limit: 3 hours Make sure you write your NAME and UBIT above. Note
More informationAbstract Data Types 1
Abstract Data Types 1 Purpose Abstract Data Types (ADTs) Lists Stacks Queues 2 Primitive vs. Abstract Data Types Primitive DT: programmer ADT: programmer Interface (API) data Implementation (methods) Data
More informationINF280 Graph Traversals & Paths
INF280 Graph Traversals & Paths Florian Brandner February 27, 2018 1/21 Contents Introduction Simple Traversals Depth-First Search Breadth-First Search Finding Paths Dijkstra Bellman-Ford Floyd-Warshall
More informationSTL components. STL: C++ Standard Library Standard Template Library (STL) Main Ideas. Components. Encapsulates complex data structures and algorithms
STL: C++ Standard Library Standard Template Library (STL) Encapsulates complex data structures and algorithms is a library of generic container classes which are both efficient and functional C++ STL developed
More informationMore Group HW. #ifndef Stackh #define Stackh. #include <cstdlib> using namespace std;
More Group HW The following code is contained in the file ex1stck.h. Fill in the blanks with the C++ statement(s) that will correctly finish the method. Each blank may be filled in with more than one statement.
More informationStandard Template Library. Containers, Iterators, Algorithms. Sequence Containers. Containers
Standard Template Library The standard template library (STL) contains Containers Algorithms Iterators A container is a way that stored data is organized in memory, for example an array of elements. Algorithms
More informationStandard Template Library
Standard Template Library Wednesday, October 10, 2007 10:09 AM 9.3 "Quick Peek" STL history 1990s Alex Stepanov & Meng Lee of HP Labs 1994 ANSI/IS0 standard Components Container class templates Iterators
More informationSTL. Prof Tejada Week 14
STL Prof Tejada Week 14 Standard Template Library (STL) What is the STL? A generic collection of commonly used data structures and algorithms In 1994, STL was adopted as a standard part of C++ Why used
More informationCOSC 320 Exam 2 Key Spring Part 1: Hash Functions
COSC 320 Exam 2 Key Spring 2011 Part 1: Hash s 1. (5 Points) Create the templated function object lessthan, you may assume that the templated data type T has overloaded the < operator. template
More information! A data type for which: ! In fact, an ADT may be implemented by various. ! Examples:
Ch. 8: ADTs: Stacks and Queues Abstract Data Type A data type for which: CS 8 Fall Jill Seaman - only the properties of the data and the operations to be performed on the data are specific, - not concerned
More informationCPSC 260 Data Structures and Algorithms for Computer Engineers Linked Lists!
CPSC 260 Data Structures and Algorithms for Computer Engineers Linked Lists! Winter 2013 Instructor: Hassan Khosravi Problems with Arrays and Vectors With arrays and vectors you are allocated a large space.
More informationCOEN244: Class & function templates
COEN244: Class & function templates Aishy Amer Electrical & Computer Engineering Templates Function Templates Class Templates Outline Templates and inheritance Introduction to C++ Standard Template Library
More informationData structures and libraries
Data structures and libraries Bjarki Ágúst Guðmundsson Tómas Ken Magnússon Árangursrík forritun og lausn verkefna School of Computer Science Reykjavík University Today we re going to cover Basic data types
More informationTemplates and Vectors
Templates and Vectors 1 Generic Programming function templates class templates 2 the STL vector class a vector of strings enumerating elements with an iterator inserting and erasing 3 Writing our own vector
More informationTo know the relationships among containers, iterators, and algorithms ( 22.2).
CHAPTER 22 STL Containers Objectives To know the relationships among containers, iterators, and algorithms ( 22.2). To distinguish sequence containers, associative containers, and container adapters (
More informationCHAPTER 3 STACKS AND QUEUES. Iris Hui-Ru Jiang Fall 2008
HAPTER 3 STAKS AND QUEUES Iris Hui-Ru Jiang Fall 2008 2 ontents Templates in ++ Stack (LIFO) Queue (FIFO) Subtyping and Inheritance in ++ A Mazing Problem Evaluation of Expressions Readings hapter 3 ++
More informationComputational Physics
Computational Physics numerical methods with C++ (and UNIX) 2018-19 Fernando Barao Instituto Superior Tecnico, Dep. Fisica email: fernando.barao@tecnico.ulisboa.pt Computational Physics 2018-19 (Phys Dep
More informationDynamic Data Structures
Dynamic Data Structures We have seen that the STL containers vector, deque, list, set and map can grow and shrink dynamically. We now examine how some of these containers can be implemented in C++. To
More informationECE Spring 2018 Problem Set #0 Due: 1/30/18
ECE 45234 - Spring 2018 Problem Set #0 Due: 1/30/18 The purpose of this first problem set is to remind you of the material you need from 2574 and help get you up-to-speed with python. This course uses
More informationCMSC 341 Lecture 6 STL, Stacks, & Queues. Based on slides by Lupoli, Dixon & Gibson at UMBC
CMSC 341 Lecture 6 STL, Stacks, & Queues Based on slides by Lupoli, Dixon & Gibson at UMBC Templates 2 Common Uses for Templates Some common algorithms that easily lend themselves to templates: Swap what
More informationC++ 11 and the Standard Library: Containers, Iterators, Algorithms
and the Standard Library:,, Comp Sci 1575 Outline 1 2 3 4 Outline 1 2 3 4 #i n clude i n t main ( ) { i n t v a l u e 0 = 5 ; // C++ 98 i n t v a l u e 1 ( 5 ) ; // C++ 98 i n t v a
More informationProgramming in C++ using STL. Rex Jaeschke
Programming in C++ using STL Rex Jaeschke Programming in C++ using STL 1997, 1999, 2002, 2007, 2009 Rex Jaeschke. All rights reserved. Edition: 2.0 All rights reserved. No part of this publication may
More informationAssociative Containers and Iterators. Ali Malik
Associative Containers and Iterators Ali Malik malikali@stanford.edu Game Plan Recap Associative Containers Iterators Map Iterators The auto keyword (maybe) Range-Based for Loops (maybe) Recap Structs
More information! A data type for which: ! An ADT may be implemented using various. ! Examples:
Stacks and Queues Unit 6 Chapter 19.1-2,4-5 CS 2308 Fall 2018 Jill Seaman 1 Abstract Data Type A data type for which: - only the properties of the data and the operations to be performed on the data are
More informationPIC 10A. Lecture 23: Intro to STL containers
PIC 10A Lecture 23: Intro to STL containers STL STL stands for Standard Template Library There are many data structures that share similar features These data structures can be manipulated by a common
More informationthe Stack stack ADT using the STL stack are parentheses balanced? algorithm uses a stack adapting the STL vector class adapting the STL list class
the Stack 1 The Stack Abstract Data Type stack ADT using the STL stack 2 An Application: Test Expressions are parentheses balanced? algorithm uses a stack 3 Stack Implementations adapting the STL vector
More informationG52CPP C++ Programming Lecture 18
G52CPP C++ Programming Lecture 18 Dr Jason Atkin http://www.cs.nott.ac.uk/~jaa/cpp/ g52cpp.html 1 Welcome Back 2 Last lecture Operator Overloading Strings and streams 3 Operator overloading - what to know
More information1. The term STL stands for?
1. The term STL stands for? a) Simple Template Library b) Static Template Library c) Single Type Based Library d) Standard Template Library Answer : d 2. Which of the following statements regarding the
More informationCS302 Midterm Exam Answers & Grading James S. Plank September 30, 2010
CS302 Midterm Exam Answers & Grading James S. Plank September 30, 2010 Question 1 Part 1, Program A: This program reads integers on standard input and stops when it encounters EOF or a non-integer. It
More informationModule 9. Templates & STL
Module 9 Templates & STL Objectives In this module Learn about templates Construct function templates and class templates STL 2 Introduction Templates: enable you to write generic code for related functions
More informationLecture-5. STL Containers & Iterators
Lecture-5 STL Containers & Iterators Containers as a form of Aggregation Fixed aggregation An object is composed of a fixed set of component objects Variable aggregation An object is composed of a variable
More informationConcurrent Data Structures in C++ CSInParallel Project
Concurrent Data Structures in C++ CSInParallel Project July 26, 2012 CONTENTS 1 Concurrent Data Structures in C++: Web crawler lab 1 1.1 Your goals................................................ 1 1.2
More informationADTs: Stacks and Queues
Introduction to the Stack ADTs: Stack: a data structure that holds a collection of elements of the same type. - The elements are accessed according to LIFO order: last in, first out - No random access
More informationl Determine if a number is odd or even l Determine if a number/character is in a range - 1 to 10 (inclusive) - between a and z (inclusive)
Final Exam Exercises Chapters 1-7 + 11 Write C++ code to: l Determine if a number is odd or even CS 2308 Fall 2016 Jill Seaman l Determine if a number/character is in a range - 1 to 10 (inclusive) - between
More informationObject oriented programming
Exercises 3 Version 1.0, 24 February, 2017 Table of Contents 1. Classes...................................................................... 1 1.1. Defining class..........................................................
More information8/19/2014. Most algorithms transform input objects into output objects The running time of an algorithm typically grows with input size
1. Algorithm analysis 3. Stacks 4. Queues 5. Double Ended Queues Semester I (2014) 1 Most algorithms transform input objects into output objects The running time of an algorithm typically grows with input
More informationCS11 Advanced C++ Fall Lecture 1
CS11 Advanced C++ Fall 2006-2007 Lecture 1 Welcome! ~8 lectures Slides are posted on CS11 website http://www.cs.caltech.edu/courses/cs11 ~6 lab assignments More involved labs 2-3 week project at end CS
More informationGridKa School 2013: Effective Analysis C++ Standard Template Library
GridKa School 2013: Effective Analysis C++ Standard Template Library Introduction Jörg Meyer, Steinbuch Centre for Computing, Scientific Data Management KIT University of the State of Baden-Wuerttemberg
More informationThe Standard Template Library. An introduction
1 The Standard Template Library An introduction 2 Standard Template Library (STL) Objective: Reuse common code Common constructs: Generic containers and algorithms STL Part of the C++ Standard Library
More informationCMSC 341 Lecture 6 Templates, Stacks & Queues. Based on slides by Shawn Lupoli & Katherine Gibson at UMBC
CMSC 341 Lecture 6 Templates, Stacks & Queues Based on slides by Shawn Lupoli & Katherine Gibson at UMBC Today s Topics Data types in C++ Overloading functions Templates How to implement them Possible
More informationCS 103 Unit 15. Doubly-Linked Lists and Deques. Mark Redekopp
1 CS 103 Unit 15 Doubly-Linked Lists and Deques Mark Redekopp 2 Singly-Linked List Review Used structures/classes and pointers to make linked data structures Singly-Linked Lists dynamically allocates each
More informationC++ TEMPLATES. Templates are the foundation of generic programming, which involves writing code in a way that is independent of any particular type.
C++ TEMPLATES http://www.tutorialspoint.com/cplusplus/cpp_templates.htm Copyright tutorialspoint.com Templates are the foundation of generic programming, which involves writing code in a way that is independent
More informationAdvanced Associative Containers. Ali Malik
Advanced Associative Containers Ali Malik malikali@stanford.edu Game Plan Recap Map Iterators Further Usage Multimap auto and Range Based for Recap Associative Containers Useful abstraction for associating
More information7 TEMPLATES AND STL. 7.1 Function Templates
7 templates and STL:: Function Templates 7 TEMPLATES AND STL 7.1 Function Templates Support generic programming functions have parameterized types (can have other parameters as well) functions are instantiated
More informationProgramming in C++: Assignment Week 1
Programming in C++: Assignment Week 1 Total Marks : 20 Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology Kharagpur 721302 partha.p.das@gmail.com February 24,
More informationCSCI 104 Binary Trees / Priority Queues / Heaps. Mark Redekopp Michael Crowley
CSCI 04 Binary Trees / Priority Queues / Heaps Mark Redekopp Michael Crowley Trees Definition: A connected, acyclic (no cycles) graph with: A root node, r, that has 0 or more subtrees Exactly one path
More informationLambda functions. Zoltán Porkoláb: C++11/14 1
Lambda functions Terminology How it is compiled Capture by value and reference Mutable lambdas Use of this Init capture and generalized lambdas in C++14 Constexpr lambda and capture *this and C++17 Zoltán
More informationAgenda. The main body and cout. Fundamental data types. Declarations and definitions. Control structures
The main body and cout Agenda 1 Fundamental data types Declarations and definitions Control structures References, pass-by-value vs pass-by-references The main body and cout 2 C++ IS AN OO EXTENSION OF
More informationCSC 222: Computer Programming II. Spring 2004
CSC 222: Computer Programming II Spring 2004 Stacks and recursion stack ADT push, pop, top, empty, size vector-based implementation, library application: parenthesis/delimiter matching run-time
More informationComputer Programming
Computer Programming Dr. Deepak B Phatak Dr. Supratik Chakraborty Department of Computer Science and Engineering Session : C++ Standard Library The string Class Dr. Deepak B. Phatak & Dr. Supratik Chakraborty,
More informationSuppose that you want to use two libraries with a bunch of useful classes and functions, but some names collide:
COMP151 Namespaces Motivation [comp151] 1 Suppose that you want to use two libraries with a bunch of useful classes and functions, but some names collide: // File: gnutils.h class Stack {... ; class Some
More informationChapter 18: Stacks And Queues
Chapter 18: Stacks And Queues 18.1 Introduction to the Stack ADT Introduction to the Stack ADT Stack a LIFO (last in, first out) data structure Examples plates in a cafeteria return addresses for function
More informationCS 216 Exam 1 Fall SOLUTION
CS 216 Exam 1 Fall 2004 - SOLUTION Name: Lab Section: Email Address: Student ID # This exam is closed note, closed book. You will have an hour and fifty minutes total to complete the exam. You may NOT
More informationFunction Templates. Consider the following function:
Function Templates Consider the following function: void swap (int& a, int& b) { int tmp = a; a = b; b = tmp; Swapping integers. This function let's you swap the contents of two integer variables. But
More informationReview Questions for Final Exam
CS 102 / ECE 206 Spring 11 Review Questions for Final Exam The following review questions are similar to the kinds of questions you will be expected to answer on the Final Exam, which will cover LCR, chs.
More informationLectures 19, 20, 21. two valid iterators in [first, last) such that i precedes j, then *j is not less than *i.
Lectures 19, 20, 21 1. STL library examples of applications Explanations: The member function pop_back removes the last element of the controlled sequence. The member function pop_front removes the first
More informationPurpose of Review. Review some basic C++ Familiarize us with Weiss s style Introduce specific constructs useful for implementing data structures
C++ Review 1 Purpose of Review Review some basic C++ Familiarize us with Weiss s style Introduce specific constructs useful for implementing data structures 2 Class The Class defines the data structure
More informationCSE 100: C++ TEMPLATES AND ITERATORS
1 CSE 100: C++ TEMPLATES AND ITERATORS 2 Announcements Look out for the extra weekend section More on git and C++ (iterators) Live demo by your friendly tutors Not mandatory but it will be fun Bring your
More informationCS 103 Unit 12 Slides
1 CS 103 Unit 12 Slides Standard Template Library Vectors & Deques Mark Redekopp 2 Templates We ve built a list to store integers But what if we want a list of double s or char s or other objects We would
More informationContainers in C++ and Java
Containers in C++ and Java 1 1. Which of the following statements is true? a) Equality on the basis of reference implies equality on the basis of content. b) Equality on the basis of content implies equality
More informationAssociative Containers & Iterators. Cristian Cibils
Associative Containers & Iterators Cristian Cibils (ccibils@stanford.edu) Recap of Sequence Containers Sequence containers store data stored in order STL and Stanford sequence containers are similar but
More informationEEE2020 Data Structures and Algorithms Abstract Data Types: Stacks and Queues
EEE2020 Data Structures and Algorithms Abstract Data Types: Stacks and Queues W. Jinho Song School of Electrical & Electronic Engineering Yonsei University 1 Textbook Chapter and Objectives Textbook "Data
More informationSTL Quick Reference for CS 241
STL Quick Reference for CS 241 Spring 2018 The purpose of this document is to provide basic information on those elements of the C++14 standard library we think are most likely to be needed in CS 241.
More informationPrefix Trees Tables in Practice
Prefix Trees CS 311 Data Structures and Algorithms Lecture Slides Friday, December 7, 2007 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks CHAPPELLG@member.ams.org 2005
More informationLab 8 The Stack (LIFO) Structure
Lab 8 The Stack (LIFO) Structure Objective: The stack segment in memory is where the 80x86 maintains the stack. The stack stores important information about program including local variables, subroutine
More informationCSCI-1200 Data Structures Fall 2013 Lecture 9 Iterators & Lists
Review from Lecture 8 CSCI-1200 Data Structures Fall 2013 Lecture 9 Iterators & Lists Explored a program to maintain a class enrollment list and an associated waiting list. Unfortunately, erasing items
More informationC++ Exception Handling 1
C++ Exception Handling 1 An exception is a problem that arises during the execution of a program. A C++ exception is a response to an exceptional circumstance that arises while a program is running, such
More informationG52CPP C++ Programming Lecture 18. Dr Jason Atkin
G52CPP C++ Programming Lecture 18 Dr Jason Atkin 1 Last lecture Operator Overloading Strings and streams 2 Operator overloading - what to know Know that you can change the meaning of operators Know that
More informationDue Date: See Blackboard
Source File: ~/2315/45/lab45.(C CPP cpp c++ cc cxx cp) Input: under control of main function Output: under control of main function Value: 4 Integer data is usually represented in a single word on a computer.
More information19.1 The Standard Template Library
Chapter 19: The Template Library From a review of Effective STL : 50 Specific Ways to Improve Your Use of the Standard Template Library by ScottMeyers: It s hard to overestimate the importance of the Standard
More informationObject Oriented Design
Object Oriented Design Lecture 3: Introduction to C++ (Continue) Examples using declarations that eliminate the need to repeat the std:: prefix 1 Examples using namespace std; enables a program to use
More informationSimulations. buffer of fixed capacity using the STL deque. modeling arrival times generating and processing jobs
Simulations 1 Circular Queues buffer of fixed capacity using the STL deque 2 Simulating Waiting Lines using Queues modeling arrival times generating and processing jobs MCS 360 Lecture 18 Introduction
More informationCSCI-1200 Data Structures Fall 2010 Lecture 8 Iterators
CSCI-1200 Data Structures Fall 2010 Lecture 8 Iterators Review from Lecture 7 Designing our own container classes Dynamically allocated memory in classes Copy constructors, assignment operators, and destructors
More information