Data structures cs301 power point slides lecture 03
-
Upload
nasir-mehmood -
Category
Technology
-
view
327 -
download
10
description
Transcript of Data structures cs301 power point slides lecture 03
![Page 1: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/1.jpg)
Lecture No.03
Data Structures
Dr. Sohail Aslam
![Page 2: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/2.jpg)
Linked List Actual picture in memory:
1051
1052
1055
1059
1060
1061
1062
1063
1064
1056
1057
1058
1053
1054 2
6
8
7
1
1051
1063
1057
1060
0
head 1054
1063current
2 6 8 7 1
head
current
1065
![Page 3: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/3.jpg)
Linked List Operations add(9): Create a new node in memory to hold ‘9’
Node* newNode = new Node(9);
9newNode
![Page 4: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/4.jpg)
Linked List Operations add(9): Create a new node in memory to hold ‘9’
Node* newNode = new Node(9);
Link the new node into the list
9newNode
2 6 8 7 1
head
current
size=5 6
9
newNode
1
3
2
![Page 5: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/5.jpg)
C++ Code for Linked ListThe Node class
class Node {public:
int get() { return object; };void set(int object) { this->object = object; };
Node *getNext() { return nextNode; };void setNext(Node *nextNode)
{ this->nextNode = nextNode; };private:
int object;Node *nextNode;
};
![Page 6: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/6.jpg)
C++ Code for Linked List
The Node class
class Node {public:
int get() { return object; };void set(int object) { this->object = object; };
Node *getNext() { return nextNode; };void setNext(Node *nextNode)
{ this->nextNode = nextNode; };private:
int object;Node *nextNode;
};
![Page 7: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/7.jpg)
C++ Code for Linked List
The Node class
class Node {public:
int get() { return object; };void set(int object) { this->object = object; };
Node *getNext() { return nextNode; };void setNext(Node *nextNode)
{ this->nextNode = nextNode; };private:
int object;Node *nextNode;
};
![Page 8: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/8.jpg)
C++ Code for Linked List
The Node class
class Node {public:
int get() { return object; };void set(int object) { this->object = object; };
Node *getNext() { return nextNode; };void setNext(Node *nextNode)
{ this->nextNode = nextNode; };private:
int object;Node *nextNode;
};
![Page 9: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/9.jpg)
C++ Code for Linked List
The Node class
class Node {public:
int get() { return object; };void set(int object) { this->object = object; };
Node *getNext() { return nextNode; };void setNext(Node *nextNode)
{ this->nextNode = nextNode; };private:
int object;Node *nextNode;
};
![Page 10: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/10.jpg)
C++ Code for Linked List
The Node class
class Node {public:
int get() { return object; };void set(int object) { this->object = object; };
Node *getNext() { return nextNode; };void setNext(Node *nextNode)
{ this->nextNode = nextNode; };private:
int object;Node *nextNode;
};
![Page 11: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/11.jpg)
C++ Code for Linked List
The Node class
class Node {public:
int get() { return object; };void set(int object) { this->object = object; };
Node *getNext() { return nextNode; };void setNext(Node *nextNode)
{ this->nextNode = nextNode; };private:
int object;Node *nextNode;
};
![Page 12: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/12.jpg)
C++ Code for Linked List
The Node class
class Node {public:
int get() { return object; };void set(int object) { this->object = object; };
Node *getNext() { return nextNode; };void setNext(Node *nextNode)
{ this->nextNode = nextNode; };private:
int object;Node *nextNode;
};
![Page 13: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/13.jpg)
C++ Code for Linked List
The Node class
class Node {public:
int get() { return object; };void set(int object) { this->object = object; };
Node *getNext() { return nextNode; };void setNext(Node *nextNode)
{ this->nextNode = nextNode; };private:
int object;Node *nextNode;
};
![Page 14: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/14.jpg)
C++ Code for Linked List
The Node class
class Node {public:
int get() { return object; };void set(int object) { this->object = object; };
Node *getNext() { return nextNode; };void setNext(Node *nextNode)
{ this->nextNode = nextNode; };private:
int object;Node *nextNode;
};
![Page 15: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/15.jpg)
#include <stdlib.h>#include "Node.cpp"
class List {public:
// ConstructorList() {
headNode = new Node();headNode->setNext(NULL);currentNode = NULL;size = 0;
};
C++ Code for Linked List
![Page 16: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/16.jpg)
#include <stdlib.h>#include "Node.cpp"
class List {public:
// ConstructorList() {
headNode = new Node();headNode->setNext(NULL);currentNode = NULL;size = 0;
};
C++ Code for Linked List
![Page 17: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/17.jpg)
#include <stdlib.h>#include "Node.cpp"
class List {public:
// ConstructorList() {
headNode = new Node();headNode->setNext(NULL);currentNode = NULL;size = 0;
};
C++ Code for Linked List
![Page 18: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/18.jpg)
#include <stdlib.h>#include "Node.cpp"
class List {public:
// ConstructorList() {
headNode = new Node();headNode->setNext(NULL);currentNode = NULL;size = 0;
};
C++ Code for Linked List
![Page 19: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/19.jpg)
#include <stdlib.h>#include "Node.cpp"
class List {public:
// ConstructorList() {
headNode = new Node();headNode->setNext(NULL);currentNode = NULL;size = 0;
};
C++ Code for Linked List
![Page 20: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/20.jpg)
#include <stdlib.h>#include "Node.cpp"
class List {public:
// ConstructorList() {
headNode = new Node();headNode->setNext(NULL);currentNode = NULL;size = 0;
};
C++ Code for Linked List
![Page 21: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/21.jpg)
#include <stdlib.h>#include "Node.cpp"
class List {public:
// ConstructorList() {
headNode = new Node();headNode->setNext(NULL);currentNode = NULL;size = 0;
};
C++ Code for Linked List
![Page 22: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/22.jpg)
#include <stdlib.h>#include "Node.cpp"
class List {public:
// ConstructorList() {
headNode = new Node();headNode->setNext(NULL);currentNode = NULL;size = 0;
};
C++ Code for Linked List
![Page 23: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/23.jpg)
#include <stdlib.h>#include "Node.cpp"
class List {public:
// ConstructorList() {
headNode = new Node();headNode->setNext(NULL);currentNode = NULL;size = 0;
};
C++ Code for Linked List
![Page 24: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/24.jpg)
#include <stdlib.h>#include "Node.cpp"
class List {public:
// ConstructorList() {
headNode = new Node();headNode->setNext(NULL);currentNode = NULL;size = 0;
};
C++ Code for Linked List
![Page 25: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/25.jpg)
C++ Code for Linked List void add(int addObject) {
Node* newNode = new Node();newNode->set(addObject);if( currentNode != NULL ){
newNode->setNext(currentNode->getNext());
currentNode->setNext( newNode ); lastCurrentNode = currentNode; currentNode = newNode;
} else {
newNode->setNext(NULL); headNode->setNext(newNode); lastCurrentNode = headNode;
currentNode = newNode; } size++; };
![Page 26: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/26.jpg)
C++ Code for Linked List void add(int addObject) {
Node* newNode = new Node();newNode->set(addObject);if( currentNode != NULL ){
newNode->setNext(currentNode->getNext());
currentNode->setNext( newNode ); lastCurrentNode = currentNode; currentNode = newNode;
} else {
newNode->setNext(NULL); headNode->setNext(newNode); lastCurrentNode = headNode;
currentNode = newNode; } size++; };
![Page 27: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/27.jpg)
C++ Code for Linked List void add(int addObject) {
Node* newNode = new Node();newNode->set(addObject);if( currentNode != NULL ){
newNode->setNext(currentNode->getNext());
currentNode->setNext( newNode ); lastCurrentNode = currentNode; currentNode = newNode;
} else {
newNode->setNext(NULL); headNode->setNext(newNode); lastCurrentNode = headNode;
currentNode = newNode; } size++; };
![Page 28: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/28.jpg)
C++ Code for Linked List void add(int addObject) {
Node* newNode = new Node();newNode->set(addObject);if( currentNode != NULL ){
newNode->setNext(currentNode->getNext());
currentNode->setNext( newNode ); lastCurrentNode = currentNode; currentNode = newNode;
} else {
newNode->setNext(NULL); headNode->setNext(newNode); lastCurrentNode = headNode;
currentNode = newNode; } size++; };
![Page 29: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/29.jpg)
C++ Code for Linked List void add(int addObject) {
Node* newNode = new Node();newNode->set(addObject);if( currentNode != NULL ){
newNode->setNext(currentNode->getNext());
currentNode->setNext( newNode ); lastCurrentNode = currentNode; currentNode = newNode;
} else {
newNode->setNext(NULL); headNode->setNext(newNode); lastCurrentNode = headNode;
currentNode = newNode; } size++; };
![Page 30: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/30.jpg)
C++ Code for Linked List void add(int addObject) {
Node* newNode = new Node();newNode->set(addObject);if( currentNode != NULL ){
newNode->setNext(currentNode->getNext());
currentNode->setNext( newNode ); lastCurrentNode = currentNode; currentNode = newNode;
} else {
newNode->setNext(NULL); headNode->setNext(newNode); lastCurrentNode = headNode;
currentNode = newNode; } size++; };
![Page 31: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/31.jpg)
C++ Code for Linked List void add(int addObject) {
Node* newNode = new Node();newNode->set(addObject);if( currentNode != NULL ){
newNode->setNext(currentNode->getNext());
currentNode->setNext( newNode ); lastCurrentNode = currentNode; currentNode = newNode;
} else {
newNode->setNext(NULL); headNode->setNext(newNode); lastCurrentNode = headNode;
currentNode = newNode; } size++; };
![Page 32: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/32.jpg)
C++ Code for Linked List void add(int addObject) {
Node* newNode = new Node();newNode->set(addObject);if( currentNode != NULL ){
newNode->setNext(currentNode->getNext());
currentNode->setNext( newNode ); lastCurrentNode = currentNode; currentNode = newNode;
} else {
newNode->setNext(NULL); headNode->setNext(newNode); lastCurrentNode = headNode;
currentNode = newNode; } size++; };
![Page 33: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/33.jpg)
C++ Code for Linked List void add(int addObject) {
Node* newNode = new Node();newNode->set(addObject);if( currentNode != NULL ){
newNode->setNext(currentNode->getNext());
currentNode->setNext( newNode ); lastCurrentNode = currentNode; currentNode = newNode;
} else {
newNode->setNext(NULL); headNode->setNext(newNode); lastCurrentNode = headNode;
currentNode = newNode; } size++; };
![Page 34: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/34.jpg)
C++ Code for Linked List void add(int addObject) {
Node* newNode = new Node();newNode->set(addObject);if( currentNode != NULL ){
newNode->setNext(currentNode->getNext());
currentNode->setNext( newNode ); lastCurrentNode = currentNode; currentNode = newNode;
} else {
newNode->setNext(NULL); headNode->setNext(newNode); lastCurrentNode = headNode;
currentNode = newNode; } size++; };
![Page 35: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/35.jpg)
C++ Code for Linked List void add(int addObject) {
Node* newNode = new Node();newNode->set(addObject);if( currentNode != NULL ){
newNode->setNext(currentNode->getNext());
currentNode->setNext( newNode ); lastCurrentNode = currentNode; currentNode = newNode;
} else {
newNode->setNext(NULL); headNode->setNext(newNode); lastCurrentNode = headNode;
currentNode = newNode; } size++; };
![Page 36: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/36.jpg)
C++ Code for Linked List void add(int addObject) {
Node* newNode = new Node();newNode->set(addObject);if( currentNode != NULL ){
newNode->setNext(currentNode->getNext());
currentNode->setNext( newNode ); lastCurrentNode = currentNode; currentNode = newNode;
} else {
newNode->setNext(NULL); headNode->setNext(newNode); lastCurrentNode = headNode;
currentNode = newNode; } size++; };
![Page 37: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/37.jpg)
C++ Code for Linked List void add(int addObject) {
Node* newNode = new Node();newNode->set(addObject);if( currentNode != NULL ){
newNode->setNext(currentNode->getNext());
currentNode->setNext( newNode ); lastCurrentNode = currentNode; currentNode = newNode;
} else {
newNode->setNext(NULL); headNode->setNext(newNode); lastCurrentNode = headNode;
currentNode = newNode; } size++; };
![Page 38: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/38.jpg)
C++ Code for Linked List void add(int addObject) {
Node* newNode = new Node();newNode->set(addObject);if( currentNode != NULL ){
newNode->setNext(currentNode->getNext());
currentNode->setNext( newNode ); lastCurrentNode = currentNode; currentNode = newNode;
} else {
newNode->setNext(NULL); headNode->setNext(newNode); lastCurrentNode = headNode;
currentNode = newNode; } size++; };
![Page 39: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/39.jpg)
C++ Code for Linked List void add(int addObject) {
Node* newNode = new Node();newNode->set(addObject);if( currentNode != NULL ){
newNode->setNext(currentNode->getNext());
currentNode->setNext( newNode ); lastCurrentNode = currentNode; currentNode = newNode;
} else {
newNode->setNext(NULL); headNode->setNext(newNode); lastCurrentNode = headNode;
currentNode = newNode; } size++; };
![Page 40: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/40.jpg)
C++ Code for Linked List void add(int addObject) {
Node* newNode = new Node();newNode->set(addObject);if( currentNode != NULL ){
newNode->setNext(currentNode->getNext());
currentNode->setNext( newNode ); lastCurrentNode = currentNode; currentNode = newNode;
} else {
newNode->setNext(NULL); headNode->setNext(newNode); lastCurrentNode = headNode;
currentNode = newNode; } size++; };
![Page 41: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/41.jpg)
Building a Linked List
headNode size=0List list;
![Page 42: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/42.jpg)
Building a Linked List
headNode
2headNode
currentNode
size=1
lastcurrentNode
size=0List list;
list.add(2);
![Page 43: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/43.jpg)
Building a Linked List
headNode
2headNode
currentNode
size=1
lastcurrentNode
2 6headNode
currentNode
size=2
lastcurrentNode
size=0List list;
list.add(2);
list.add(6);
![Page 44: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/44.jpg)
Building a Linked List
List.add(8); list.add(7); list.add(1);
2 6 7 1headNode
currentNode
size=5
lastcurrentNode
8
![Page 45: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/45.jpg)
C++ Code for Linked List
int get() { if (currentNode != NULL) return currentNode->get();
};
![Page 46: Data structures cs301 power point slides lecture 03](https://reader035.fdocuments.net/reader035/viewer/2022062510/5495435eb479598d538b47f7/html5/thumbnails/46.jpg)
C++ Code for Linked Listbool next() {
if (currentNode == NULL) return false;
lastCurrentNode = currentNode;currentNode = currentNode->getNext();if (currentNode == NULL || size == 0)
return false;else
return true;};