Data Structures (CS301) LAB
|
|
- Baldwin Booth
- 5 years ago
- Views:
Transcription
1 Data Structures (CS301) LAB Objectives The objectives of this LAB are, o Enabling students to implement Doubly Linked List practically using c++ and adding more functionality in it. Introduction to Singly Linked List data structure Linked Memory Linked Memory is the collection of objects in which each object is pointing to next object in linear form as shown below, Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 For using the linked memory (collection of linked objects of same type) it is necessary to keep the pointer of next object in the previous object so we use a variable of pointer to same object type in every object it is explained below as well, A Single Node Value Node * ptr Each cell in linked memory is called a Node. We can link infinite number of nodes according to our requirements similarly we can also remove as much number of nodes as possible from our linked memory so linked memory is dynamic which is not possible in the case of arrays that have fixed length defined at the time of their creation that can neither be increased nor decreased as shown below, Array of 5 elements (fixed size once created) Link List (Dynamic size) (In start only head LinkList size = 0) Data Structures (CS301) 1
2 (After adding three nodes LinkList size = 3) (After removing two nodes only one node left LinkList size = 1) (After adding another node LinkList size = 2) Singly Linked List uses the concept of Linked Memory to store data values, in simple words it is linear collection of Nodes connected together. Link List (Linear Structure) All these nodes are independent of each other and connected using pointers. An analogy: Suppose in a shopping store there are 10 empty shopping carts available for coming customers as shown below, When a customers come he takes a shopping cart and start putting the things he want to purchase in it in case shopping cart is full he takes another empty shopping cart and he can take as many shopping carts as he needs. Now suppose three customers A, B and C used 1, 2 and 3 shopping carts respectively for putting there goods as shown below, Data Structures (CS301) 2
3 Customer A Customer B Customer C So 6 shopping carts were used and there are 4 shopping carts available for new customers. If we see this scenario in the context of link list, The total number of shopping cart corresponds to the available computer memory. The customers with shopping cart make a linked list. You can well imagine that we can t define the fix size for this sort of memory requirements (shopping cart) because the no of persons demanding the shopping cart will change from time to time. At 8:00 am At 10:00 am At 12:00 pm At 2:00 pm Fig. LinkList status at different times Now suppose our customers A, B and C are computer processes that are requesting memory in the form of small nodes from all the available computer memory. We can t allocate these nodes easily to processes as we are allocating shopping carts to customers in the case of shopping store. The problem is described below, Problem: We have computer memory in the form of large collection of bytes and many processes including those who belong to operating system itself are using this memory randomly when they need some memory they request for it to the operating system and get it Data Structures (CS301) 3
4 For example in case of three processes A, B and C an example diagram at a certain time is shown below, A Single Node int Value Node * ptr A single Node in Memory An integer (two bytes) Pointer (two bytes) Suppose we created three nodes for our program they will be stored in memory at different locations as given below, Node I Node II Node III Now the question arises how we will access all these nodes, as these are present at different memory locations, we solve this problem by making a logical chain of nodes by connecting these nodes by pointers as shown below, Data Structures (CS301) 4
5 Node Pointer of first node points to second node int value of node in two bytes node pointer having address of next node(two bytes) int value of node in two bytes node pointer having address of next node(two bytes) Node I Node II Node Pointer of second node points to third node int value of node in two bytes node pointer having address of next node(two bytes) Node III Implementation of Doubly linked list using Dev c++: To implement doubly link list we use the same concept as for singly link list we need mainly two classes one is class node (like shopping cart) and second is the single link list class used to manage (add and remove) these nodes. Data Structures (CS301) 5
6 The node class for singly link list is given blow, class Node private: The data members of this Node class int object; Node * nextnode; One is of int type to store our data Second is Node pointer (Node * ) to store the address of next node. public: void set (int ); int get(); void setnext(node * ) Node * getnext( ) Functions of this Node class As our node class has two members first data member is int variable to store an integer value in this node and second is pointer to next node) so there should be four functions, two for integer member (one for getting its value and one for setting its value) similarly two for Node pointer member. ; Then we wrote a link list class so that we can create and mange a link list using the node class objects. Doubly Link List Implementation: For doubly link list there will be two pointers in node class one to point to next node and other to point to previous node as shown below, Data Structures (CS301) 6
7 class Node private: int object; Node * nextnode; Node * prevnode; The data members of this Node class One is of int type to store our data Second is Node pointer (Node * ) to store the address of next node. Third is Node pointer (Node * ) to store the address of previous node. public: /* Necessary functions to set and get the value of private data members of this node As node has now three members so there will be six functions now */ ; We will also write a doubly link list class to mange this node class, the functions we will write for this node class are given below with their description, DoublyLinkedList constructor This will be called once when we will create the doubly linked list object. In it we will create head node and will set this head node next and previous node pointers to NULL and list size equal to zero. We will also set currentnode and lastcurrentnode pointers to NULL. Pointers data members are assigned a value called NULL so that they don t point to any incorrect memory location before we assign them a value later ) Data Structures (CS301) 7
8 add Method next Method prev Method get Method Traverse forward method Traverse backward method This will add a new Node to the list it is similar to singly link list add method with the change that now we will also set prevnode pointer to previous node pointer. Will move the currentnode and lastcurrrentnode pointers one node ahead. Will move currentnode and lastcurrentnode pointers to one node backward. This method will return the current node value (the node pointed by currentnode pointer) This method will traverse (move from first node called head to last node called tail of the list) and will show each node value. This method will traverse backward (move from last node called tail to the first node head of the list) and will show each node value. The process for this doubly link list project is shown below, Create new project: Data Structures (CS301) 8
9 Save this project file in a new folder, Now we will add new files in this project first adding Node.h as shown below, Data Structures (CS301) 9
10 Then we will write the code for Node.h as shown below, Data Structures (CS301) 10
11 Similarly we will add three more files, having names, Node.cpp DoublyLinkList.h DoublyLinkList.cpp Data Structures (CS301) 11
12 Our project will look like this, The basic code for doubly link list we will write in these files is given below, /*Node.h file*/ #include <iostream> #include <stdlib.h> using namespace std; /* The Node class declaration */ class Node public: int get(); void set(int ); Node * getnext(); void setnext(node *); Node * getprev(); void setprev(node *); private: int object; Node * nextnode; Node * prevnode; ; /*Node.cpp file*/ #include "Node.h" Data Structures (CS301) 12
13 /* The Node class implementation*/ int Node:: get() return object; void Node:: set(int object) this->object = object; Node * Node::getNext() return nextnode; void Node:: setnext(node * nextnode) this->nextnode = nextnode; Node * Node::getPrev() return prevnode; void Node:: setprev(node * prevnode) this->prevnode = prevnode; /*DoublyLinkList.h file*/ #include "Node.h" /* The LinkList class declaration*/ class DoublyLinkList public: DoublyLinkList(); void add (int addobject); Data Structures (CS301) 13
14 int get(); bool next(); bool prev (); friend void traverseforward(doublylinklist list); friend void traversereverse(doublylinklist list); friend DoublyLinkList addnodes(); private: int size; Node * headnode; Node * currentnode; Node * lastcurrentnode; ; /*DoublyLinkList.cpp file*/ #include "DoublyLinkList.h" /* The LinkList class implementation*/ /* Constructor */ DoublyLinkList::DoublyLinkList() headnode = new Node(); headnode->setnext(null); headnode->setprev(null); currentnode = NULL; lastcurrentnode = NULL; size = 0; /* add() class method */ void DoublyLinkList::add (int addobject) Node * newnode = new Node(); newnode->set(addobject); if( currentnode!= NULL ) // If list is not empty newnode->setnext(currentnode->getnext()); if (currentnode->getnext()!= NULL) currentnode->getnext()->setprev(newnode); Data Structures (CS301) 14
15 newnode->setprev(currentnode); currentnode->setnext( newnode ); lastcurrentnode = currentnode; currentnode = newnode; else // If list is empty newnode->setnext(null); newnode->setprev(headnode); headnode->setnext(newnode); lastcurrentnode = headnode; currentnode = newnode; size ++; /* get() class method */ int DoublyLinkList::get() if (currentnode!= NULL) return currentnode->get(); /* next() class method */ bool DoublyLinkList::next() if (currentnode == NULL) return false; // no node in list lastcurrentnode = currentnode; currentnode = currentnode->getnext(); if (currentnode == NULL size == 0) // we have reached at the tail no more nodes return false; else return true; /* prev() class method */ bool DoublyLinkList::prev() if (currentnode == NULL) return false; // no node in list Data Structures (CS301) 15
16 currentnode = lastcurrentnode; lastcurrentnode = lastcurrentnode->getprev(); if (lastcurrentnode == NULL size == 0) // we have reached at the head no more nodes return false; else return true; /* Friend function to traverse linked list */ void traverseforward(doublylinklist list) Node* savedcurrentnode = list.currentnode; list.currentnode = list.headnode; cout<<"\n Traversing in Forward Direction"; for(int i = 1; list.next(); i++) cout << "\n Element " << i << " of the list is " << list.get()<< endl; list.currentnode = savedcurrentnode; void traversereverse(doublylinklist list) Node* savedcurrentnode = list.currentnode; cout<<"\n Traversing in Reverse Direction"; do cout << "\n Element " << list.size << " of the list is " << list.get()<< endl; list.size = list.size -1; while (list.prev()); list.currentnode = savedcurrentnode; Data Structures (CS301) 16
17 /* Friend function to add Nodes into the list */ DoublyLinkList addnodes() DoublyLinkList list; int temp; for(int i = 0; i < 9 ; i++) cout <<"\n Please Enter the Element No # "<<i+1<<": "; cin>>temp; list.add(temp); cout << "\n\n List size is = " << list.size <<'\n'; return list; /*Main file code*/ #include "DoublyLinkList.h" int main() DoublyLinkList list = addnodes(); traverseforward(list); traversereverse(list); system("pause"); return 0; Data Structures (CS301) 17
18 Sample out put is What you have to submit: You have to submit the doubly link list project as we created and discussed above with the sample given code, but you will add the integer part of your roll number in your doubly link list addnodes method for example if someone has roll no. bc , he will add integers 0 2 Data Structures (CS301) 18
19 In the same order as in this list You will add two more friend functions in doubly link list class as described below: 1. First function will get the first four integers and will show the student batch for example in case of roll number. bc the batch to be displayed will be, Second function will add all the entered roll number integers and will check whether the result is even or odd and will show the result. For example out put for this function may be, The sum is Even Assignment Submission Instructions: Please submit you project as single zipped file having all the functionalities mentioned above. Good Luck Data Structures (CS301) 19
Spring 2008 Data Structures (CS301) LAB
Spring 2008 Data Structures (CS301) LAB Objectives The objectives of this LAB are, o Enabling students to implement Singly Linked List practically using c++ and adding more functionality in it. o Enabling
More informationData Structures. Lecture 04 Sohail Aslam AL 1
Data Structures Lecture 04 Sohail Aslam 1 C++ Code for Linked List // position current before the first // list element void start() { lastcurrentnode = headnode; currentnode = headnode; }; 2 C++ Code
More information// Pointer to the first thing in the list
Linked Lists Dynamic variables combined with structs or classes can be linked together to form dynamic lists or other structures. We define a record (called a node) that has at least two members: next
More information! A data structure representing a list. ! A series of dynamically allocated nodes. ! A separate pointer (the head) points to the first
Linked Lists Introduction to Linked Lists A data structure representing a Week 8 Gaddis: Chapter 17 CS 5301 Spring 2014 Jill Seaman A series of dynamically allocated nodes chained together in sequence
More informationData Structures Lab II. Binary Search Tree implementation
Data Structures Lab II Binary Search Tree implementation Objectives: Making students able to understand basic concepts relating to Binary Search Tree (BST). Making students able to implement Binary Search
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 informationLinked List using a Sentinel
Linked List using a Sentinel Linked List.h / Linked List.h Using a sentinel for search Created by Enoch Hwang on 2/1/10. Copyright 2010 La Sierra University. All rights reserved. / #include
More informationJordan University of Science & Technology Department of Computer Science CS 211 Exam #1 (23/10/2010) -- Form A
Jordan University of Science & Technology Department of Computer Science CS 211 Exam #1 (23/10/2010) -- Form A Name: ID#: Section #: Day & Time: Instructor: Answer all questions as indicated. Closed book/closed
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 07: Linked Lists MOUNA KACEM mouna@cs.wisc.edu Spring 2019 Linked Lists 2 Introduction Linked List Abstract Data Type SinglyLinkedList ArrayList Keep in Mind Introduction:
More informationMIDTERM EXAMINATION Spring 2010 CS301- Data Structures
MIDTERM EXAMINATION Spring 2010 CS301- Data Structures Question No: 1 Which one of the following statement is NOT correct. In linked list the elements are necessarily to be contiguous In linked list the
More informationLinked Lists. Linked list: a collection of items (nodes) containing two components: Data Address (link) of the next node in the list
Linked Lists Introduction : Data can be organized and processed sequentially using an array, called a sequential list Problems with an array Array size is fixed Unsorted array: searching for an item is
More informationLinked Lists. Linked list: a collection of items (nodes) containing two components: Data Address (link) of the next node in the list
Linked Lists Introduction : Data can be organized and processed sequentially using an array, called a sequential list Problems with an array Array size is fixed Unsorted array: searching for an item is
More informationLinked Lists. Chapter 4
Linked Lists Chapter 4 1 Linked List : Definition Linked List: A collection of data items of the same type that are stored in separate objects referred to as "nodes". Each node contains, in addition to
More information[CSE10200] Programming Basis ( 프로그래밍기초 ) Chapter 9. Seungkyu Lee. Assistant Professor, Dept. of Computer Engineering Kyung Hee University
[CSE10200] Programming Basis ( 프로그래밍기초 ) Chapter 9 Seungkyu Lee Assistant Professor, Dept. of Computer Engineering Kyung Hee University CHAPTER 9 Pointers #1~2 Pointer int main () { int a; int b; int c;
More informationData Structure. Recitation III
Data Structure Recitation III Topic Binary Search Abstract Data types Java Interface Linked List Binary search Searching a sorted collection is a common task. A dictionary is a sorted list of word definitions.
More informationC++ - Lesson 2 This is a function prototype. a' is a function that takes an integer array argument and returns an integer pointer.
C++ - Lesson 2 1. Explain the following declarations: a) int *a(int a[]); This is a function prototype. 'a' is a function that takes an integer array argument and returns an integer pointer. b) const char
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 information! Determine if a number is odd or even. ! Determine if a number/character is in a range. - 1 to 10 (inclusive) - between a and z (inclusive)
Final Exam Exercises CS 2308 Spring 2014 Jill Seaman Chapters 1-7 + 11 Write C++ code to: Determine if a number is odd or even Determine if a number/character is in a range - 1 to 10 (inclusive) - between
More informationCh. 17: Linked Lists. Introduction to Linked Lists
Ch. 17: Linked Lists Part 1 CS 2308 Fall 2011 Jill Seaman Lecture 16 Using content from textbook slides: Starting Out with C++, Gaddis, Pearson/Addison-Wesley 1 Introduction to Linked Lists A data structure
More informationStudent Name and ID CS 32, WINTER 2015, PRACTICE MIDTERM I.
UCLA Computer Science Department TA: Kung-Hua Chang Student Name and ID CS 32, WINTER 2015, PRACTICE MIDTERM I. Problem # Maximal Possible Points Received 1.1 3 1.2 5 1.3 5 1.4 5 1.5 5 2 3 3.1 4 3.2 5
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 informationLecture No.04. Data Structures
Lecture No.04 Data Structures Josephus Problem #include "CList.cpp" void main(int argc, char *argv[]) { CList list; int i, N=10, M=3; for(i=1; i
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 information! Determine if a number is odd or even. ! 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:! Determine if a number is odd or even CS 2308 Fall 2018 Jill Seaman! Determine if a number/character is in a range - 1 to 10 (inclusive) - between
More informationFirst Examination. CS 225 Data Structures and Software Principles Spring p-9p, Tuesday, February 19
Department of Computer Science First Examination CS 225 Data Structures and Software Principles Spring 2008 7p-9p, Tuesday, February 19 Name: NetID: Lab Section (Day/Time): This is a closed book and closed
More information1. Which of the following best describes the situation after Line 1 has been executed?
Instructions: Submit your answers to these questions to the Curator as OQ3 by the posted due date and time. No late submissions will be accepted. For the next three questions, consider the following short
More informationUniversity of Illinois at Urbana-Champaign Department of Computer Science. First Examination
University of Illinois at Urbana-Champaign Department of Computer Science First Examination CS 225 Data Structures and Software Principles Spring 2007 7p-9p, Thursday, March 1 Name: NetID: Lab Section
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 informationImplementation. Learn how to implement the List interface Understand the efficiency trade-offs between the ArrayList and LinkedList implementations
Readings List Implementations Chapter 20.2 Objectives Learn how to implement the List interface Understand the efficiency trade-offs between the ArrayList and LinkedList implementations Additional references:
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 07: Linked Lists and Iterators MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Linked Lists 2 Introduction Linked List Abstract Data Type General Implementation of the ListADT
More informationUniversity of Illinois at Urbana-Champaign Department of Computer Science. First Examination
University of Illinois at Urbana-Champaign Department of Computer Science First Examination CS 225 Data Structures and Software Principles Spring 2007 7p-9p, Thursday, March 1 Name: NetID: Lab Section
More informationName: UTLN: CS login: Comp 15 Data Structures Midterm 2018 Summer
[Closed book exam] There are 7 questions leading up to 100 points. Max alloted time: 1 hour Problem 1 (2x10=20 points). Fill in the blanks in terms of the big-theta (Θ) notation to show the asymptotic
More informationLinked Lists. Gaddis Ch. 17. CS 2308 :: Spring 2016 Molly O'Neil
Linked Lists Gaddis Ch. 17 CS 2308 :: Spring 2016 Molly O'Neil List ADT A list is an abstract data type representing an ordered sequence of values For example, both MP3 Player assignments have used lists:
More informationWeek 11. Abstract Data Types. CS 180 Sunil Prabhakar Department of Computer Science Purdue University
Week 11 Abstract Data Types CS 180 Sunil Prabhakar Department of Computer Science Purdue University Unknown input size Consider a program that has to read in a large number of names from input and print
More informationEE 355 Unit 11b. Doubly-Linked Lists and Deques. Mark Redekopp
1 EE 355 Unit 11b 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
More information! A data structure representing a list. ! A series of nodes chained together in sequence. ! A separate pointer (the head) points to the first
Ch. 17: Linked Lists 17.1 Introduction to Linked Lists! A data structure representing a list! A series of nodes chained together in sequence CS 2308 Spring 2013 Jill Seaman - Each node points to one other
More informationLECTURE 03 LINKED LIST
DATA STRUCTURES AND ALGORITHMS LECTURE 03 LINKED LIST IMRAN IHSAN ASSISTANT PROFESSOR AIR UNIVERSITY, ISLAMABAD LINKED LISTS DEFINITION A linked list is a data structure where each object is stored in
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 informationEECE.2160: ECE Application Programming
Fall 2017 Programming Assignment #10: Doubly-Linked Lists Due Monday, 12/18/17, 11:59:59 PM (Extra credit ( 5 pts on final average), no late submissions or resubmissions) 1. Introduction This assignment
More informationAssignment 4: SkipList
Assignment 4: SkipList Goals : Working with dynamic arrays, pointers, doubly linked lists For this assignment, you will write a Skip List data structure to store integers. When searching a Skip List, items
More informationAssignment #1 (50 points; due 11:59 P.M.)
Assignment #1 (50 points; due 9/25/2017 @ 11:59 P.M.) This project is designed to help you master pointers. To that end, you'll get the most out of it by working through the problems by hand. Only after
More informationMID TERM MEGA FILE SOLVED BY VU HELPER Which one of the following statement is NOT correct.
MID TERM MEGA FILE SOLVED BY VU HELPER Which one of the following statement is NOT correct. In linked list the elements are necessarily to be contiguous In linked list the elements may locate at far positions
More informationLinked List Practice Questions
Linked List Practice Questions 1. The following function reverse() is supposed to reverse a singly linked list. There is one line missing at the end of the function. /* head_ref is a double pointer which
More informationCS427 Inheritance and Virtual Functions. Linked lists. 2/27. 01Replacement.cpp link! i n t GetY ( void ) { return ( y ) ; } ;
Inheritance and Virtual Functions. Linked lists. CS427 Lecture 12.2, 11am, 26th March 2012 In today s class 1 Recall... Inheritance 2 3 4 Limitations of arrays 5 Linked lists 6 7 8 Further linked list
More informationSolution printed. Do not start the test until instructed to do so! CS 2604 Data Structures Midterm Summer I Instructions:
VIRG INIA POLYTECHNIC INSTITUTE AND STATE U T PROSI M UNI VERSI TY Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted
More informationIntroduction to Linked Data Structures
Introduction to Linked Data Structures A linked data structure consists of capsules of data known as nodes that are connected via links Links can be viewed as arrows and thought of as one way passages
More information! Determine if a number is odd or even. ! Determine if a number/character is in a range. ! Assign a category based on ranges (wind speed)
Final Exam Exercises Chapters 1-7 + 11 Write C++ code to:! Determine if a number is odd or even CS 2308 Spring 2013 Jill Seaman! Determine if a number/character is in a range - 1 to 10 (inclusive) - between
More informationCA341 - Comparative Programming Languages
CA341 - Comparative Programming Languages David Sinclair Dynamic Data Structures Generally we do not know how much data a program will have to process. There are 2 ways to handle this: Create a fixed data
More informationInsertions and removals follow the Fist-In First-Out rule: Insertions: at the rear of the queue Removals: at the front of the queue
Queues CSE 2011 Fall 2009 9/28/2009 7:56 AM 1 Queues: FIFO Insertions and removals follow the Fist-In First-Out rule: Insertions: at the rear of the queue Removals: at the front of the queue Applications,
More informationAnnouncements. Prelude (2) Prelude (1) Data Structures and Information Systems Part 1: Data Structures. Lecture 6: Lists.
Announcements MODULE WEB-SITE: http://www.csc.liv.ac.uk/ michele/teaching/comp102/comp102.html FIRST ASSIGNMENT DEADLINE: Wednesday, February 1st, 14.30, LAB 7 Boxes (late submissions to be left in the
More informationLargest Online Community of VU Students
WWW.VUPages.com http://forum.vupages.com WWW.VUTUBE.EDU.PK Largest Online Community of VU Students MIDTERM EXAMINATION SEMESTER FALL 2003 CS301-DATA STRUCTURE Total Marks:86 Duration: 60min Instructions
More informationAssignment of Objects
Copying Objects 1 Assignment of Objects 2 Slides 1. Table of Contents 2. Assignment of Objects 3. Dynamic Content 4. Shallow Copying 5. Deep Copying 6. this Pointer 7. Improved Deep Copy 8. Passing an
More informationCMSC 341 Lecture 7 Lists
CMSC 341 Lecture 7 Lists Today s Topics Linked Lists vs Arrays Nodes Using Linked Lists Supporting Actors (member variables) Overview Creation Traversal Deletion UMBC CMSC 341 Lists 2 Linked Lists vs Arrays
More informationA collision is said to occur when two or more keys hash to the same index location.
Problem Set #8 Solutions Problem 1-9 points Given the tree below, traverse the tree a. Inorder : a/b c * d*e / f + g b. Preorder: * - / a b c / * d e + f g c. Postorder a b / c d e * f g + / * * - / /
More informationFORM 1 (Please put your name and section number (001/10am or 002/2pm) on the scantron!!!!) CS 161 Exam II: True (A)/False(B) (2 pts each):
FORM 1 (Please put your name and section number (001/10am or 002/2pm) on the scantron!!!!) CS 161 Exam II: True (A)/False(B) (2 pts each): 1. If a function has default arguments, they can be located anywhere
More informationCSCE 2014 Final Exam Spring Version A
CSCE 2014 Final Exam Spring 2017 Version A Student Name: Student UAID: Instructions: This is a two-hour exam. Students are allowed one 8.5 by 11 page of study notes. Calculators, cell phones and computers
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 informationData structure is an organization of information, usually in memory, for better algorithm efficiency.
Lecture 01 Introduction Wednesday, 29 July 2015 12:59 pm Data structure is an organization of information, usually in memory, for better algorithm efficiency. Abstract data types (ADTs) are a model for
More information(6) The specification of a name with its type in a program. (7) Some memory that holds a value of a given type.
CS 7A - Fall 2016 - Midterm 1 10/20/16 Write responses to questions 1 and 2 on this paper or attach additional sheets, as necessary For all subsequent problems, use separate paper Do not use a computer
More informationUniversity of Waterloo Department of Electrical and Computer Engineering ECE 250 Data Structures and Algorithms. Final Examination
University of Waterloo Department of Electrical and Computer Engineering ECE 250 Data Structures and Algorithms Instructor: Douglas Wilhelm Harder Time: 2.5 hours Aides: none 14 pages Final Examination
More informationCS 103: Introduction to Programming Fall Written Final Exam 12/11/16, 4:30PM 6:30PM
CS 103: Introduction to Programming Fall 2017 - Written Final Exam 12/11/16, 4:30PM 6:30PM Name: USC Email Address: Lecture (Circle One): Redekopp 2:00 TTh Goodney: 2 MW 9:30 TTh 11:00 TTh Complete the
More informationCMPT 225. Lecture 6 linked list
CMPT 225 Lecture 6 linked list 1 Last Lecture Class documentation Linked lists and its operations 2 Learning Outcomes At the end of this lecture, a student will be able to: define one of the concrete data
More informationCSCE 110 PROGRAMMING FUNDAMENTALS
CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++ Prof. Amr Goneid AUC Part 15. Dictionaries (1): A Key Table Class Prof. amr Goneid, AUC 1 Dictionaries(1): A Key Table Class Prof. Amr Goneid, AUC 2 A Key Table
More informationLinked Lists. Chapter 12.3 in Savitch
Linked Lists Chapter 12.3 in Savitch Preliminaries n Arrays are not always the optimal data structure: q An array has fixed size needs to be copied to expand its capacity q Adding in the middle of an array
More informationPointers and Arrays CS 201. This slide set covers pointers and arrays in C++. You should read Chapter 8 from your Deitel & Deitel book.
Pointers and Arrays CS 201 This slide set covers pointers and arrays in C++. You should read Chapter 8 from your Deitel & Deitel book. Pointers Powerful but difficult to master Used to simulate pass-by-reference
More information1. Write step by step code to delete element from existing Doubly Linked List. Suppose that all declarations are done
1. Write step by step code to delete element from existing Doubly Linked List. Suppose that all declarations are done. first NULL 42 A A 13 A A 6 NULL Write code here first NULL 42 A A 13 A A 6 NULL p
More informationC:\Temp\Templates. Download This PDF From The Web Site
11 2 2 2 3 3 3 C:\Temp\Templates Download This PDF From The Web Site 4 5 Use This Main Program Copy-Paste Code From The Next Slide? Compile Program 6 Copy/Paste Main # include "Utilities.hpp" # include
More informationThe combination of pointers, structs, and dynamic memory allocation allow for creation of data structures
Data Structures in C C Programming and Software Tools N.C. State Department of Computer Science Data Structures in C The combination of pointers, structs, and dynamic memory allocation allow for creation
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 informationpointers + memory double x; string a; int x; main overhead int y; main overhead
pointers + memory computer have memory to store data. every program gets a piece of it to use as we create and use more variables, more space is allocated to a program memory int x; double x; string a;
More informationA linked list. Subtopic: Linked lists. List-node structure type. Array implementation of a linked list. Inserting into a sorted collection
Subtopic: Linked lists A linear structure, like an array Composed of self-referential nodes Operations: insert, delete, traverse Array implementation Dynamic-allocation implementation David Keil 1/03 1
More informationUniversity of Illinois at Urbana-Champaign Department of Computer Science. First Examination
University of Illinois at Urbana-Champaign Department of Computer Science First Examination CS 225 Data Structures and Software Principles Spring 2014 Tuesday, February 25, 7-10p Name: NetID: Lab Section
More informationLinked Lists. private int num; // payload for the node private Node next; // pointer to the next node in the list }
Linked Lists Since a variable referencing an object just holds the address of the object in memory, we can link multiple objects together to form dynamic lists or other structures. In our case we will
More informationCSE 250 Final Exam. Fall 2013 Time: 3 hours. Dec 11, No electronic devices of any kind. You can open your textbook and notes
CSE 250 Final Exam Fall 2013 Time: 3 hours. Dec 11, 2013 Total points: 100 14 pages Please use the space provided for each question, and the back of the page if you need to. Please do not use any extra
More informationAssignment3 CS206 Intro to Data Structures Fall Part 1 (50 pts) due: October 13, :59pm Part 2 (150 pts) due: October 20, :59pm
Part 1 (50 pts) due: October 13, 2013 11:59pm Part 2 (150 pts) due: October 20, 2013 11:59pm Important Notes This assignment is to be done on your own. If you need help, see the instructor or TA. Please
More informationExam 2. CSI 201: Computer Science 1 Fall 2016 Professors: Shaun Ramsey and Kyle Wilson. Question Points Score Total: 80
Exam 2 CSI 201: Computer Science 1 Fall 2016 Professors: Shaun Ramsey and Kyle Wilson Question Points Score 1 18 2 29 3 18 4 15 Total: 80 I understand that this exam is closed book and closed note and
More informationReview Questions for Final Exam KEY
CS 102 / ECE 206 Spring 11 Review Questions for Final Exam KEY 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,
More informationCS32 Discussion Sec.on 1B Week 2. TA: Zhou Ren
CS32 Discussion Sec.on 1B Week 2 TA: Zhou Ren Agenda Copy Constructor Assignment Operator Overloading Linked Lists Copy Constructors - Motivation class School { public: }; School(const string &name); string
More information2. List Implementations (a) Class Templates (b) Contiguous (c) Simply Linked (d) Simply Linked with Position Pointer (e) Doubly Linked
Chapter 6 LISTS AND STRINGS 1. List Specifications 2. List Implementations (a) Class Templates (b) Contiguous (c) Simply Linked (d) Simply Linked with Position Pointer (e) Doubly Linked 3. Strings 4. Application:
More informationCSC 309/404 Section 901/910 Spring 2017 Midterm Exam Due: May 7 (Sun) 2015, 11:59 pm
CSC 309/404 Section 901/910 Spring 2017 Midterm Exam Due: May 7 (Sun) 2015, 11:59 pm Directions: This is a take-home exam. Type your answers in an electronic file (all in ONE file), in a pdf/doc/txt format,
More informationlecture09: Linked Lists
lecture09: Largely based on slides by Cinda Heeren CS 225 UIUC 24th June, 2013 Announcements mp2 due tonight mt1 tomorrow night! mt1 review instead of lab tomorrow morning mp3 released tonight, mp3.1 extra
More informationAshish Gupta, Data JUET, Guna
Categories of data structures Data structures are categories in two classes 1. Linear data structure: - organized into sequential fashion - elements are attached one after another - easy to implement because
More informationScott Gibson. Pointers & Dynamic Memory. Pre & Co Requisites. Random Access Memory. Data Types. Atomic Type Sizes
Scott Gibson Pointers & Dynamic Memory Lecture #1 Office: LAH 103 Email: sgibson@brookdalecc.edu sgib@optonline.net Web: www.brookdalecc.edu/fac/cos/sgibson Phone: (732) 224 2285 1 2 Pre & Co Requisites
More informationUniversity of Illinois at Urbana-Champaign Department of Computer Science. First Examination
University of Illinois at Urbana-Champaign Department of Computer Science First Examination CS 225 Data Structures and Software Principles Sample Exam 2 75 minutes permitted Print your name, netid, and
More informationName MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.
CMPSC11 Final (Study Guide) Fall 11 Prof Hartman Name MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) This is a collection of statements that performs
More informationChapter 10 - Notes Applications of Arrays
Chapter - Notes Applications of Arrays I. List Processing A. Definition: List - A set of values of the same data type. B. Lists and Arrays 1. A convenient way to store a list is in an array, probably a
More informationCS301- Data Structures LATEST SOLVED MCQS & SUBJECTIVE FROM MIDTERM PAPERS. 18 December 2014
س ت ع ين و ا ك ن ع ب د ا ك اے الله!) ی دت اور د CS301- Data Structures LATEST SOLVED MCQS & SUBJECTIVE FROM MIDTERM PAPERS With Reference Mega File 18 December 2014 Ijaz Ahmad BS Computer Science Virtual
More informationTemplates and STL Vectors
Templates and STL Vectors Let s start with a singly-linked-list class of strings. The code to free the list from memory is missing. Here is the relevant code: class Node private: string name; Node* next;
More informationCS 103 Unit 11. Linked Lists. Mark Redekopp
1 CS 103 Unit 11 Linked Lists Mark Redekopp 2 NULL Pointer Just like there was a null character in ASCII = '\0' whose ue was 0 There is a NULL pointer whose ue is 0 NULL is "keyword" you can use in C/C++
More informationLinked Lists. Contents. Steven J. Zeil. July 31, Linked Lists: the Basics 4
Steven J. Zeil July 31, 2013 Contents 1 Linked Lists: the Basics 4 1 2 Coding for Linked Lists 8 2.1 Traversing a Linked List............................... 12 2.2 Searching a Linked List................................
More informationUniversity of Illinois at Urbana-Champaign Department of Computer Science. First Examination
University of Illinois at Urbana-Champaign Department of Computer Science First Examination CS 225 Data Structures and Software Principles Sample Exam 2 75 minutes permitted Print your name, netid, and
More informationCMSC 202 Section 010x Spring Justin Martineau, Tuesday 11:30am
CMSC 202 Section 010x Spring 2007 Computer Science II Final Exam Name: Username: Score Max Section: (check one) 0101 - Justin Martineau, Tuesday 11:30am 0102 - Sandeep Balijepalli, Thursday 11:30am 0103
More informationStudy Guide for Test 2
Study Guide for Test 2 Topics: decisions, loops, arrays, c-strings, linux Material Selected from: Chapters 4, 5, 6, 7, 10.1, 10.2, 10.3, 10.4 Examples 14 33 Assignments 4 8 Any syntax errors are unintentional
More informationEECE.2160: ECE Application Programming
Summer 2017 Programming Assignment #9: Doubly-Linked Lists Due Monday, 6/26/17, 11:59:59 PM (+15% if submitted by 6/23, +10% if submitted 6/24-6/25, +5% if submitted 6/26) 1. Introduction This assignment
More informationCSE 143. Linked Lists. Linked Lists. Manipulating Nodes (1) Creating Nodes. Manipulating Nodes (3) Manipulating Nodes (2) CSE 143 1
CSE 143 Linked Lists [Chapter 4; Chapter 6, pp. 265-271] Linked Lists A linked list is a collection of dynamically allocated nodes Each node contains at least one member (field) that points to another
More informationHomework Assignment #1
CISC 2200 Data Structure Spring, 2016 Homework Assignment #1 1 Short practices on linked list, see Textbook Page 205, Problem 9-12 2 Pointers: operations (deference, address-of), and syntax errors (a)
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 informationCPSC W2: Midterm Exam
CPSC 221 2017W2: Midterm Exam January 29, 2018 1 Who gets the marks? [1 marks] Please enter your 4 or 5 digit CSID in this box: 2 Choices, miscellany, and some originality [16 marks] Unless otherwise specified,
More informationLists (Section 5) Lists, linked lists Implementation of lists in C Other list structures List implementation of stacks, queues, priority queues
(Section 5) Lists, linked lists Implementation of lists in C Other list structures List implementation of stacks, queues, priority queues By: Pramod Parajuli, Department of Computer Science, St. Xavier
More informationCSC 172 Data Structures and Algorithms. Lecture #9 Spring 2018
CSC 172 Data Structures and Algorithms Lecture #9 Spring 2018 SINGLY LINKED LIST 3.1.3 Linked lists We will consider these for Singly linked lists Doubly linked lists Basic Singly Linked List class Node
More information