void set_data(const value_type& new_data) { data_field = new_data; } void set_link(node* new_link) { link_field = new_link; }
|
|
- Drusilla Leonard
- 6 years ago
- Views:
Transcription
1 node1.h Page 1 of 1 class node // TYPEDEF typedef double value_type; // CONSTRUCTOR node( const value_type& init_data = value_type( ), node* init_link = NULL ) data_field = init_data; link_field = init_link; // Member functions to set the data and link fields: void set_data(const value_type& new_data) data_field = new_data; void set_link(node* new_link) link_field = new_link; // Constant member function to retrieve the current data: value_type data( ) const return data_field; // Two slightly different member functions to retreive // the current link: const node* link( ) const return link_field; node* link( ) return link_field; value_type data_field; node* link_field; ; // FUNCTIONS for the linked list toolkit std::size_t list_length(const node* head_ptr); void list_head_insert(node*& head_ptr, const node::value_type& entry); void list_insert(node* previous_ptr, const node::value_type& entry); node* list_search(node* head_ptr, const node::value_type& target); const node* list_search (const node* head_ptr, const node::value_type& target); node* list_locate(node* head_ptr, std::size_t position); const node* list_locate(const node* head_ptr, std::size_t position); void list_head_remove(node*& head_ptr); void list_remove(node* previous_ptr); void list_clear(node*& head_ptr); void list_copy(const node* source_ptr, node*& head_ptr, node*& tail_ptr);
2 node1.cxx // FILE: node1.cxx // IMPLEMENTS: The functions of the node class and the // linked list toolkit (see node1.h for documentation). // INVARIANT for the node class: // The data of a node is stored in data_field, and the link in link_field. #include "node1.h" #include <cassert> #include <cstdlib> using namespace std; // Provides assert // Provides NULL and size_t namespace main_savitch_5 size_t list_length(const node* head_ptr) const node *cursor; size_t answer; answer = 0; ++answer; return answer; void list_head_insert(node*& head_ptr, const node::value_type& entry) head_ptr = new node(entry, head_ptr); node* list_search(node* head_ptr, const node::value_type& target) node *cursor; if (target == cursor->data( )) return cursor; return NULL; const node* list_search(const node* head_ptr, const node::value_type& target) const node *cursor; if (target == cursor->data( )) return cursor; return NULL;... Page 1
3 node2.h Page 1 of 1 class node // TYPEDEF typedef Item value_type; // CONSTRUCTOR node(const Item& init_data=item( ), node* init_link=null) data_field = init_data; link_field = init_link; // MODIFICATION MEMBER FUNCTIONS Item& data( ) return data_field; node* link( ) return link_field; void set_data(const Item& new_data) data_field = new_data; void set_link(node* new_link) link_field = new_link; // CONST MEMBER FUNCTIONS const Item& data( ) const return data_field; const node* link( ) const return link_field; Item data_field; node *link_field; ; // FUNCTIONS to manipulate a linked list: void list_clear(node<item>*& head_ptr); void list_copy (const node<item>* source_ptr, node<item>*& head_ptr, node<item>*& tail_ptr) void list_head_insert(node<item>*& head_ptr, const Item& entry); void list_head_remove(node<item>*& head_ptr); void list_insert(node<item>* previous_ptr, const Item& entry); std::size_t list_length(const node<item>* head_ptr); template <class NodePtr, class SizeType> NodePtr list_locate(nodeptr head_ptr, SizeType position); void list_remove(node<item>* previous_ptr); template <class NodePtr, class Item> NodePtr list_search(nodeptr head_ptr, const Item& target);
4 node2.template // FILE: node2.template // IMPLEMENTS: The functions of the node template class and the // linked list toolkit (see node2.h for documentation). // // NOTE: // Since node is a template class, this file is included in node2.h. // Therefore, we should not put any using directives in this file. // // INVARIANT for the node class: // The data of a node is stored in data_field, and the link in link_field. #include <cassert> #include <cstdlib> // Provides assert // Provides NULL and size_t namespace main_savitch_6b std::size_t list_length(const node<item>* head_ptr) const node<item> *cursor; std::size_t answer; answer = 0; ++answer; return answer; void list_head_insert(node<item>*& head_ptr, const Item& entry) head_ptr = new node<item>(entry, head_ptr);... template <class NodePtr, class Item> NodePtr list_search(nodeptr head_ptr, const Item& target) NodePtr cursor; if (target == cursor->data( )) return cursor; return NULL;... Page 1
5 node2.h iterators // FORWARD ITERATORS to step through the nodes of a linked list // A node_iterator of can change the underlying linked list through the // * operator, so it may not be used with a const node. The // node_const_iterator cannot change the underlying linked list // through the * operator, so it may be used with a const node. // WARNING: // This classes use std::iterator as its base class; // Older compilers that do not support the std::iterator class can // delete everything after the word iterator in the second line: class node_iterator : public std::iterator<std::forward_iterator_tag, Item> node_iterator(node<item>* initial = NULL) current = initial; Item& operator *( ) const return current->data( ); node_iterator& operator ++( ) // Prefix ++ return *this; node_iterator operator ++(int) // Postfix ++ node_iterator original(current); return original; bool operator ==(const node_iterator other) const return current == other.current; bool operator!=(const node_iterator other) const return current!= other.current; node<item>* current; ; class const_node_iterator : public std::iterator<std::forward_iterator_tag, const Item> const_node_iterator(const node<item>* initial = NULL) current = initial; const Item& operator *( ) const return current->data( ); const_node_iterator& operator ++( ) // Prefix ++ return *this; const_node_iterator operator ++(int) // Postfix ++ const_node_iterator original(current); return original; bool operator ==(const const_node_iterator other) const return current == other.current; bool operator!=(const const_node_iterator other) const return current!= other.current; const node<item>* current; Page 1 of 2
6 ; Page 2 of 2
CSC212 Data Structure - Section FG
CSC212 Data Structure - Section FG Lecture 10 The Bag and Sequence Classes with Linked Lists Instructor: Feng HU Department of Computer Science City College of New York @ Feng HU, 2016 1 Reviews: Node
More informationLecture 9 Linked Lists
CSC212 Data Structure - Section FG Lecture 9 Linked Lists Instructor: Feng HU Department of Computer Science City College of New York Motivation In a sequence using an array, inserting a new item needs
More informationLecture 19. Wednesday, February 23 CS 215 Fundamentals of Programming II - Lecture 19 1
Lecture 19 Log into Linux. Copy files on csserver from /home/hwang/cs215/lecture19/*.* Reminder: Homework 8 due today. Homework 9 is posted (PDF only). They are sample written midterm exam problems. It
More informationLinked Lists in Action
Linked Lists in Action Chapter 5 introduces the oftenused data structure of linked lists. This presentation shows how to implement the most common operations on linked lists. CHAPTER 5 Data Structures
More informationCSC212. Data Structure. Lecture 9 Templates, Iterators and STL. Instructor: George Wolberg Department of Computer Science City College of New York
CSC212 Data Structure Lecture 9 Templates, Iterators and STL Instructor: George Wolberg Department of Computer Science City College of New York Topics Template Functions and Template Classes for code that
More informationLinked Lists. It s a conspiracy!
Linked Lists It s a conspiracy! 1 Linked list: a data structure used to represent an ordered list Consists of a sequence of nodes A node consists of a data item and a reference to the next node -- the
More informationLAB 5, THE HIDDEN DELIGHTS OF LINKED LISTS
LAB 5, THE HIDDEN DELIGHTS OF LINKED LISTS Questions are based on the Main and Savitch review questions for chapter 5 in the Exam Preparation section of the webct course page. In case you haven t observed
More informationCS302 - Data Structures using C++
CS302 - Data Structures using C++ Topic: Linked Lists Implementation of the Bag ADT Kostas Alexis Consider we need to store data, we need to store data of certain type and we need to have a specific way
More informationIterators. node UML diagram implementing a double linked list the need for a deep copy. nested classes for iterator function objects
Iterators 1 Double Linked and Circular Lists node UML diagram implementing a double linked list the need for a deep copy 2 Iterators on List nested classes for iterator function objects MCS 360 Lecture
More informationC++ Programming Lecture 13 Software Engineering Group
C++ Programming Lecture 13 Software Engineering Group Philipp D. Schubert Contents 1. Introduction to the project 1. Reading files 2. Smith-Waterman algorithm 3. Comparing the sequences / parallelization
More informationIntermediate Programming, Spring 2017*
600.120 Intermediate Programming, Spring 2017* Misha Kazhdan *Much of the code in these examples is not commented because it would otherwise not fit on the slides. This is bad coding practice in general
More informationContract Programming For C++0x
Contract Programming For C++0x WG21/N1800 and J16/05-0060 Lawrence Crowl and Thorsten Ottosen lawrence.crowl@sun.com and nesotto@cs.aau.dk 2005-04-27 Overview This is an annotated version of the presentation
More informationFaculty of Information and Communication Technologies
Swinburne University Of Technology Faculty of Information and Communication Technologies ASSIGNMENT COVER SHEET Subject Code: Subject Title: Assignment number and title: Due date: Lecturer: HIT3303 Data
More informationBruce Merry. IOI Training Dec 2013
IOI Training Dec 2013 Outline 1 2 3 Outline 1 2 3 You can check that something is true using assert: #include int main() { assert(1 == 2); } Output: test_assert: test_assert.cpp:4: int main():
More informationSoftware Engineering Concepts: Invariants Silently Written & Called Functions Simple Class Example
Software Engineering Concepts: Invariants Silently Written & Called Functions Simple Class Example CS 311 Data Structures and Algorithms Lecture Slides Friday, September 11, 2009 continued Glenn G. Chappell
More informationTell compiler ValueType is a generic type. public: void push_back(const ValueType& elem); // rest of implementation }
template class StrVector { Tell compiler ValueType is a generic type. public: void push_back(const ValueType& elem); // rest of implementation } template class
More informationCh 4 Pointers and Dynamic Arrays
Ch 4 Pointers and Dynamic Arrays Pointers and Dynamic Memory Pointers and Arrays as Parameters The Bag Class with a Dynamic Array Prescription for a Dynamic Class Programming Project: The String Class
More informationClass and Function Templates
Class and Function 1 Motivation for One Way to Look at... Example: Queue of some type Foo C++ What can a parameter be used for? Instantiating a Template Usage of Compiler view of templates... Implementing
More informationMotivation for Templates. Class and Function Templates. One Way to Look at Templates...
Class and Function 1 Motivation for 2 Motivation for One Way to Look at... Example: Queue of some type Foo C++ What can a parameter be used for? Instantiating a Template Usage of Compiler view of templates...
More informationObject-oriented Programming for Automation & Robotics Carsten Gutwenger LS 11 Algorithm Engineering
Object-oriented Programming for Automation & Robotics Carsten Gutwenger LS 11 Algorithm Engineering Lecture 11 Winter 2011/12 Jan 10 Automatic Variables All variables so far have been defined inside a
More informationBINARY SEARCH TREES (CONTD) C++ TEMPLATES. Problem Solving with Computers-II
BINARY SEARCH TREES (CONTD) C++ TEMPLATES Problem Solving with Computers-II Successor: Next largest element 32 42 50 What is the successor of 45? What is the successor of 48? What is the successor of 60?
More informationLinked Lists. It s all connected
Linked Lists It s all connected Linked list: a data structure used to represent an ordered list Consists of a sequence of nodes A node consists of a data item and a reference to the next node -- the connecting
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 informationPrinciples of Programming Languages, Exercise 1 (8+8 pts) Exercise 2 (8 pts) Exercise 3 (8 pts)
Principles of Programming Languages, 2012.07.23 Notes: - Total available time: 2h. - You may use any written material you need. - You cannot use computers, phones or laptops during the exam. Exercise 1
More informationIterator Facade. Table of Contents. Overview. Usage. Iterator Core Access operator[] operator-> Reference
Iterator Facade Author: Contact: Organization: David Abrahams, Jeremy Siek, Thomas Witt dave@boost-consulting.com, jsiek@osl.iu.edu, witt@ive.uni-hannover.de Boost Consulting, Indiana University Open Systems
More informationReview for Test 1 (Chapter 1-5)
Review for Test 1 (Chapter 1-5) 1. Software development 1. Pre-conditions and Post-conditions 2. Running time analysis Big O Timing loops and nested loops 1) Write the simplest big-o expression to describe
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 informationPart of the Picture: Simulation
Part of the Picture: Simulation Random Number Generators The RandomInt Class The Part of the Picture: Simulation section in Chapter 5 referred to a class RandomInt, which can be used to conveniently generate
More information1 #include <iostream> 2 using namespace std; 3 4 // implementing the dynamic List ADT using Linked List 5 6 class Node{ 7 8 private: 9 int data; 10
1 #include 2 using namespace std; 3 4 // implementing the dynamic List ADT using Linked List 5 6 class Node{ 7 8 private: 9 int data; 10 Node* nextnodeptr; 11 12 public: 13 Node(){} 14 15 void
More informationPrinciples of Programming Languages, Exercise 1, Scheme (11 pts) Exercise 2, Haskell + Prolog (9 + 6 pts) Exercise 3, C++ (6 pts)
Principles of Programming Languages, 2012.09.03 Notes: - Total available time: 2h. - You may use any written material you need. - You cannot use computers, phones or laptops during the exam. Exercise 1,
More informationWhat will happen if we try to compile, link and run this program? Do you have any comments to the code?
1 # include < iostream > 2 3 int main () 4 { 5 std :: cout
More informationMotivation for Templates
Motivation for You want both: a list of Location objects a list of MazeMonster objects 1 How can you accomplish this by writing one LinkedList class? state all the ways you can think of doing this state
More informationLists. linking nodes. constructors. chasing pointers. MCS 360 Lecture 11 Introduction to Data Structures Jan Verschelde, 17 September 2010.
1 2 3 MCS 360 Lecture 11 Introduction to Data Structures Jan Verschelde, 17 September 2010 1 2 3 efficient updates with lists At http://www.sgi.com/tech/stl/ is the Standard Template Library Programmer
More informationThis chapter serves mainly to gather and organize information about iterators. Some new concepts are also introduced for completeness.
Iterators Overview We have introduced, used, built, and studied iterators in several contexts, including List, TDeque, and TVector. We have seen that ordinary pointers also can be thought of as iterators
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 informationIII. Classes (Chap. 3)
III. Classes III-1 III. Classes (Chap. 3) As we have seen, C++ data types can be classified as: Fundamental (or simple or scalar): A data object of one of these types is a single object. int, double, char,
More informationTell compiler ValueType is a generic type. public: void push_back(const ValueType& elem); // rest of implementation }
template class StrVector { Tell compiler ValueType is a generic type. public: void push_back(const ValueType& elem); // rest of implementation } template class
More informationA Standard flat_set. This paper outlines what a (mostly) API-compatible, non-node-based set might look like.
A Standard flat_set Document Number: P1222R0 Date: 2018-10-02 Reply to: Zach Laine whatwasthataddress@gmail.com Audience: LEWG 1 Introduction This paper outlines what a (mostly) API-compatible, non-node-based
More information1 #include <iostream> 2 #include <fstream> 3 #include <string> 4 #include <cstring> // for string tokenizer and c-style string processing 5 #include
1 #include 2 #include 3 #include 4 #include // for string tokenizer and c-style string processing 5 #include // max function 6 7 using namespace std;
More informationHomework 1 Due September 26th, 11:59pm ET
CS207, Fall 2014 Systems Development for Computational Science Cris Cecka, Ray Jones Homework 1 Due September 26th, 11:59pm ET In HW0, we developed the initial elements of a Graph class, namely the node
More informationDurch die Benutzung von for_each erspare ich mir also die Ausprogrammierung von ForEachDo, was sich sehr positiv auf die Verständlichkeit auswirkt.
Dokumentation Die Aufgabenstellung ähnelt enorm derjenigen, die in O3.5 gestellt wurde. Aus diesem Grunde gestaltet sich der neu zu schreibende Code recht einfach: // helper static ostringstream _strshow;
More informationTop of the Stack. Stack ADT
Module 3: Stack ADT Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu Stack ADT Features (Logical View) A List that
More informationObject oriented programming
Exercises 12 Version 1.0, 9 May, 2017 Table of Contents 1. Virtual destructor and example problems...................................... 1 1.1. Virtual destructor.......................................................
More informationTop of the Stack. Stack ADT
Module 3: Stack ADT Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu Stack ADT Features (Logical View) A List that
More informationmemory_resource_ptr: A Limited Smart Pointer for memory_resource Correctness
Document #: Date: 2015-10-14 Authors: Pablo Halpern, phalpern@halpernwightsoftware.com Dietmar Kühl, dkuhl@bloomberg.net memory_resource_ptr: A Limited Smart Pointer for memory_resource Correctness 1 Abstract
More informationAllocation & Efficiency Generic Containers Notes on Assignment 5
Allocation & Efficiency Generic Containers Notes on Assignment 5 CS 311 Data Structures and Algorithms Lecture Slides Friday, October 30, 2009 Glenn G. Chappell Department of Computer Science University
More informationLecture 10. Command line arguments Character handling library void* String manipulation (copying, searching, etc.)
Lecture 10 Class string Namespaces Preprocessor directives Macros Conditional compilation Command line arguments Character handling library void* TNCG18(C++): Lec 10 1 Class string Template class
More informationArmide Documentation. Release Kyle Mayes
Armide Documentation Release 0.3.1 Kyle Mayes December 19, 2014 Contents 1 Introduction 1 1.1 Features.................................................. 1 1.2 License..................................................
More informationA Standard flat_map. 1 Revisions. 2 Introduction. 3 Motivation and Scope. 1.1 Changes from R Changes from R0
A Standard flat_map Document Number: P0429R2 Date: 2016-08-31 Reply to: Zach Laine whatwasthataddress@gmail.com Audience: LWG/LEWG 1 Revisions 1.1 Changes from R1 Add deduction guides. Change value_type
More informationADT: Design & Implementation
CPSC 250 Data Structures ADT: Design & Implementation Dr. Yingwu Zhu Abstract Data Type (ADT) ADT = data items + operations on the data Design of ADT Determine data members & operations Implementation
More informationProgramming with Haiku
Programming with Haiku Lesson 2 Written by DarkWyrm All material 2010 DarkWyrm In our first lesson, we learned about how to generalize type handling using templates and some of the incredibly flexible
More informationLecture 6 Dynamic Classes and the Law of the Big Three. Instructor: George Wolberg Department of Computer Science City College of New York
CSC212 Data Structure Lecture 6 Dynamic Classes and the Law of the Big Three Instructor: George Wolberg Department of Computer Science City College of New York @ George Wolberg, 2016 1 Why Dynamic Classes
More informationLecture 12. Monday, February 7 CS 215 Fundamentals of Programming II - Lecture 12 1
Lecture 12 Log into Linux. Copy files on csserver in /home/hwang/cs215/lecture12/*.* Reminder: Practical Exam 1 is Wednesday 3pm-5pm in KC-267. Questions about Project 2 or Homework 6? Submission system
More informationLab 2: ADT Design & Implementation
Lab 2: ADT Design & Implementation By Dr. Yingwu Zhu, Seattle University 1. Goals In this lab, you are required to use a dynamic array to design and implement an ADT SortedList that maintains a sorted
More informationCS302 Data Structures using C++
CS302 Data Structures using C++ Midterm Exam Instructor: Dr. Kostas Alexis Teaching Assistants: Shehryar Khattak, Mustafa Solmaz Semester: Fall 2018 Date: November 7 2018 Student First Name Student Last
More informationChapter 17: Linked Lists
Chapter 17: Linked Lists 17.1 Introduction to the Linked List ADT Introduction to the Linked List ADT Linked list: set of data structures (nodes) that contain references to other data structures list head
More informationCSCI-1200 Data Structures Spring 2018 Lecture 14 Associative Containers (Maps), Part 1 (and Problem Solving Too)
CSCI-1200 Data Structures Spring 2018 Lecture 14 Associative Containers (Maps), Part 1 (and Problem Solving Too) HW6 NOTE: Do not use the STL map or STL pair for HW6. (It s okay to use them for the contest.)
More informationInstantiation of Template class
Class Templates Templates are like advanced macros. They are useful for building new classes that depend on already existing user defined classes or built-in types. Example: stack of int or stack of double
More informationEECE.3220: Data Structures Spring 2017
EECE.3220: Data Structures Spring 2017 Lecture 14: Key Questions February 24, 2017 1. Describe the characteristics of an ADT to store a list. 2. What data members would be necessary for a static array-based
More informationLinked Lists 28/11/2018. Nodes with member functions. The need for a linked list class
ECE 150 Fundamentals of Programming Outline 2 In this lesson, we will: Create a linked list class Implement numerous member functions Explain how to step through a linked list Linked Lists Douglas Wilhelm
More informationOutline. A C++ Linked Structure Class A C++ Linked List C++ Linked Dynamic Memory Errors In-class work. 1 Chapter 11: C++ Linked Structures
Outline 1 Chapter 11: C++ Linked Structures A ListNode Class To support a Linked List container class LList, a ListNode class is used for the individual nodes. A ListNode object has two attributes: item
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 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 informationC++11: 10 Features You Should be Using. Gordon R&D Runtime Engineer Codeplay Software Ltd.
C++11: 10 Features You Should be Using Gordon Brown @AerialMantis R&D Runtime Engineer Codeplay Software Ltd. Agenda Default and Deleted Methods Static Assertions Delegated and Inherited Constructors Null
More informationOperator overloading. Conversions. friend. inline
Operator overloading Conversions friend inline. Operator Overloading Operators like +, -, *, are actually methods, and can be overloaded. Syntactic sugar. What is it good for - 1 Natural usage. compare:
More informationObject-Oriented Programming for Scientific Computing
Object-Oriented Programming for Scientific Computing Traits and Policies Ole Klein Interdisciplinary Center for Scientific Computing Heidelberg University ole.klein@iwr.uni-heidelberg.de Summer Semester
More informationC++ Basics. Data Processing Course, I. Hrivnacova, IPN Orsay
C++ Basics Data Processing Course, I. Hrivnacova, IPN Orsay The First Program Comments Function main() Input and Output Namespaces Variables Fundamental Types Operators Control constructs 1 C++ Programming
More informationCSCI-1200 Data Structures Spring 2018 Lecture 8 Templated Classes & Vector Implementation
CSCI-1200 Data Structures Spring 2018 Lecture 8 Templated Classes & Vector Implementation Review from Lectures 7 Algorithm Analysis, Formal Definition of Order Notation Simple recursion, Visualization
More informationGeneric Programming in C++: A modest example
Generic Programming in C++: A modest example Marshall Clow Qualcomm Technologies, Inc. mclow@qti.qualcomm.com marshall@idio.com http://cplusplusmusings.wordpress.com Twitter: @mclow Problem Definition
More informationCOP4530 Data Structures, Algorithms and Generic Programming Recitation 4 Date: September 14/18-, 2008
COP4530 Data Structures, Algorithms and Generic Programming Recitation 4 Date: September 14/18-, 2008 Lab topic: 1) Take Quiz 4 2) Discussion on Assignment 2 Discussion on Assignment 2. Your task is to
More informationVectors of Pointers to Objects. Vectors of Objects. Vectors of unique ptrs C++11. Arrays of Objects
Vectors of Objects As we have mentioned earlier, you should almost always use vectors instead of arrays. If you need to keep track of persons (objects of class Person), you must decide what to store in
More informationStructuur van Computerprogramma s 2
Structuur van Computerprogramma s 2 dr. Dirk Deridder Dirk.Deridder@vub.ac.be http://soft.vub.ac.be/ Vrije Universiteit Brussel - Faculty of Science and Bio-Engineering Sciences - Computer Science Department
More informationObjectives. Describe ways to create constants const readonly enum
Constants Objectives Describe ways to create constants const readonly enum 2 Motivation Idea of constant is useful makes programs more readable allows more compile time error checking 3 Const Keyword const
More informationIV. Stacks. A. Introduction 1. Consider the 4 problems on pp (1) Model the discard pile in a card game. (2) Model a railroad switching yard
IV. Stacks 1 A. Introduction 1. Consider the problems on pp. 170-1 (1) Model the discard pile in a card game (2) Model a railroad switching yard (3) Parentheses checker () Calculate and display base-two
More informationChapter7 Expression and Assignment Statement. Introduction
Chapter7 Expression and Assignment Statement Arithmetic Expressions Overloaded Operators Boolean Expressions Short-Circuit Evaluation Assignment Statements Mixed-Mode Assignment Introduction Fundamental
More informationDue Date: See Blackboard
Source File: ~/2305/lab33.C Input: under control of main function Output: under control of main function Value: 3 The Shell sort, named after its inventor Donald Shell, provides a simple and efficient
More information1 Short Answer (7 Points Each)
1 Short Answer (7 Points Each) 1. Given the following function, what operations will need to be overloaded in the class T for this code to compile? template T square(t n) { return n * n; } The
More informationWelcome to Teach Yourself Acknowledgments Fundamental C++ Programming p. 2 An Introduction to C++ p. 4 A Brief History of C++ p.
Welcome to Teach Yourself p. viii Acknowledgments p. xv Fundamental C++ Programming p. 2 An Introduction to C++ p. 4 A Brief History of C++ p. 6 Standard C++: A Programming Language and a Library p. 8
More informationTEMPLATES AND ITERATORS
TEMPLATES AND ITERATORS Problem Solving with Computers-I https://ucsb-cs24-sp17.github.io/ 2 Announcements Checkpoint deadline for pa04 (aka lab05) is due today at 11:59pm Be sure to push your code to
More informationStandard Library Reference
Standard Library Reference This reference shows the most useful classes and functions in the standard library. Note that the syntax [start, end) refers to a half-open iterator range from start to end,
More informationChapter 15 - C++ As A "Better C"
Chapter 15 - C++ As A "Better C" Outline 15.1 Introduction 15.2 C++ 15.3 A Simple Program: Adding Two Integers 15.4 C++ Standard Library 15.5 Header Files 15.6 Inline Functions 15.7 References and Reference
More informationCSC 210, Exam Two Section February 1999
Problem Possible Score 1 12 2 16 3 18 4 14 5 20 6 20 Total 100 CSC 210, Exam Two Section 004 7 February 1999 Name Unity/Eos ID (a) The exam contains 5 pages and 6 problems. Make sure your exam is complete.
More informationDataflowAPI Programmer s Guide
Paradyn Parallel Performance Tools DataflowAPI Programmer s Guide 9.2 Release June 2016 Computer Sciences Department University of Wisconsin Madison Madison, WI 53706 Computer Science Department University
More information1 Short Answer (5 Points Each)
1 Short Answer ( Points Each) 1. Find and correct the errors in the following segment of code. int x, *ptr = nullptr; *ptr = &x; int x, *ptr = nullptr; ptr = &x; 2. Find and correct the errors in the following
More informationType Erasure. Nevin :-) Liber Friday, October 29, Chicago C/C++ Users Group Nevin J. Liber All Rights Reserved.
Type Erasure Nevin :-) Liber nevin@eviloverlord.com 2010 Nevin J. Liber All Rights Reserved. Chicago C/C++ Users Group 1 Type Erasure Type Erasure Pattern boost::any boost::function expression templates
More informationOverloaded Operators, Functions, and Students
, Functions, and Students Division of Mathematics and Computer Science Maryville College Outline Overloading Symbols 1 Overloading Symbols 2 3 Symbol Overloading Overloading Symbols A symbol is overloaded
More informationCE221 Programming in C++ Part 1 Introduction
CE221 Programming in C++ Part 1 Introduction 06/10/2017 CE221 Part 1 1 Module Schedule There are two lectures (Monday 13.00-13.50 and Tuesday 11.00-11.50) each week in the autumn term, and a 2-hour lab
More informationMidterm Exam. Sample Solutions
Name: CS 410 Introduction to Software Engineering Fall 2016 Instructor: Marc Pomplun Midterm Exam Sample Solutions No books, no notes, and no calculators are allowed. Question 1: out of points Question
More informationObject oriented programming
Exercises 6 Version 1.0, 21 March, 2017 Table of Contents 1. Operators overloading....................................................... 1 1.1. Example 1..............................................................
More informationHomework 5. Yuji Shimojo CMSC 330. Instructor: Prof. Reginald Y. Haseltine
Homework 5 Yuji Shimojo CMSC 330 Instructor: Prof. Reginald Y. Haseltine July 13, 2013 Question 1 Consider the following Java definition of a mutable string class. class MutableString private char[] chars
More informationCSCE 110 PROGRAMMING FUNDAMENTALS
CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++ Prof. Amr Goneid AUC Part 16. Linked Lists Prof. amr Goneid, AUC 1 Linked Lists Prof. amr Goneid, AUC 2 Linked Lists The Linked List Structure Some Linked List
More informationIntermediate Programming, Spring 2017*
600.120 Intermediate Programming, Spring 2017* Misha Kazhdan *Much of the code in these examples is not commented because it would otherwise not fit on the slides. This is bad coding practice in general
More informationWorking with Batches of Data
Hartmut Kaiser hkaiser@cct.lsu.edu http://www.cct.lsu.edu/ hkaiser/fall_2012/csc1254.html 2 Abstract So far we looked at simple read a string print a string problems. Now we will look at more complex problems
More informationMaking std::vector constexpr
Making std::vector constexpr Document #: P1004R0 Date: 2018-04-01 Project: Programming Language C++ Audience: LEWG Reply-to: Louis Dionne 1 Abstract std::vector is not currently constexpr
More informationECE 2400 Computer Systems Programming Fall 2017 Topic 12: Transition from C to C++
ECE 2400 Computer Systems Programming Fall 2017 Topic 12: Transition from C to C++ School of Electrical and Computer Engineering Cornell University revision: 2017-10-23-01-13 1 C++ Namespaces 2 2 C++ Functions
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 information1 #include <iostream> 2 #include <stdlib.h> //srand, rand 3 #include <time.h>//clock_t, clock, CLOCKS_PER_SEC 4 using namespace std; 5 6 //
1 #include 2 #include //srand, rand 3 #include //clock_t, clock, CLOCKS_PER_SEC 4 using namespace std; 5 6 // implementing hash table as an array of linked lists 7 // and
More informationECE 449 OOP and Computer Simulation Lecture 08 Resource Management I
ECE 449 Object-Oriented Programming and Computer Simulation, Fall 2017, Dept. of ECE, IIT 1/69 ECE 449 OOP and Computer Simulation Lecture 08 Resource Management I Professor Jia Wang Department of Electrical
More informationMore Advanced Class Concepts
More Advanced Class Concepts Operator overloading Inheritance Templates PH (RH) (Roger.Henriksson@cs.lth.se) C++ Programming 2016/17 146 / 281 Operator Overloading In most programming languages some operators
More informationCS11 Advanced C++ Fall Lecture 3
CS11 Advanced C++ Fall 2006-2007 Lecture 3 Today s Topics C++ Standard Exceptions Exception Cleanup Fun with Exceptions Exception Specifications C++ Exceptions Exceptions are nice for reporting many errors
More information