Download - Computer Notes - Data Structures - 1
![Page 1: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/1.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 1/48
Class No 1
Data Structures
http://ecomputernotes.com
![Page 2: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/2.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 2/48
Data Structures
Prepares the students for (and is a prerequisit
Cover well-known data structures such as dyn
Implement data structures in C++
http://ecomputernotes.com
![Page 3: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/3.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 3/48
Data Structures
Prepares the students for (and is a prerequisit
Cover well-known data structures such as dyn
Implement data structures in C++
http://ecomputernotes.com
![Page 4: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/4.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 4/48
Data Structures
Prepares the students for (and is a prerequisit
Cover well-known data structures such as dyn
Implement data structures in C++
http://ecomputernotes.com
![Page 5: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/5.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 5/48
Need for Data Structures
Data structures organize data⇒
more efficient programs.
More powerful computers⇒ more complex applications.
More complex applications demand more calc
http://ecomputernotes.com
![Page 6: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/6.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 6/48
Need for Data Structures
Data structures organize data⇒
more efficient programs.
More powerful computers⇒ more complex applications.
More complex applications demand more calc
http://ecomputernotes.com
![Page 7: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/7.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 7/48
Need for Data Structures
Data structures organize data⇒
more efficient programs.
More powerful computers⇒ more complex applications.
More complex applications demand more calc
http://ecomputernotes.com
![Page 8: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/8.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 8/48
Organizing Data
Any organization for a collection of records th
The choice of data structure and algorithm ca
http://ecomputernotes.com
![Page 9: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/9.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 9/48
Organizing Data
Any organization for a collection of records th
The choice of data structure and algorithm ca
http://ecomputernotes.com
![Page 10: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/10.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 10/48
Efficiency
A solution is said to be efficient
if it solves the problem within its
resource constraints. – Space
– Time
The cost of a solution is the amount of resour
http://ecomputernotes.com
![Page 11: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/11.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 11/48
Efficiency
A solution is said to be efficient if it solves the
Space
Time
The cost of a solution is the amount of resources that t
http://ecomputernotes.com
![Page 12: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/12.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 12/48
Selecting a Data Structure
Select a data structure as follows:
1. Analyze the problem to determine the resour
2. Determine the basic operations that must be3. Select the data structure that best meets the
http://ecomputernotes.com
![Page 13: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/13.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 13/48
Selecting a Data Structure
Select a data structure as follows:
1. Analyze the problem to determine the resour
2. Determine the basic operations that must be3. Select the data structure that best meets the
http://ecomputernotes.com
![Page 14: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/14.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 14/48
Selecting a Data Structure
Select a data structure as follows:
1. Analyze the problem to determine the resour
2. Determine the basic operations that must be3. Select the data structure that best meets the
http://ecomputernotes.com
![Page 15: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/15.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 15/48
Some Questions to Ask
• Are all data inserted into the data structure at
• Can data be deleted?
• Are all data processed in some well-defined o
http://ecomputernotes.com
![Page 16: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/16.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 16/48
Some Questions to Ask
• Are all data inserted into the data structure at
• Can data be deleted?
• Are all data processed in some well-defined o
http://ecomputernotes.com
![Page 17: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/17.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 17/48
Some Questions to Ask
• Are all data inserted into the data structure at
• Can data be deleted?
• Are all data processed in some well-defined o
http://ecomputernotes.com
![Page 18: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/18.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 18/48
Data Structure Philosophy
Each data structure has costs and benefits.
Rarely is one data structure better than anoth
A data structure requires:
– space for each data item it stores,
– time to perform each basic operation,
– programming effort.
http://ecomputernotes.com
![Page 19: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/19.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 19/48
Data Structure Philosophy
Each data structure has costs and benefits.
Rarely is one data structure better than anoth
A data structure requires:
– space for each data item it stores,
– time to perform each basic operation,
– programming effort.
http://ecomputernotes.com
![Page 20: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/20.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 20/48
Data Structure Philosophy
Each data structure has costs and benefits.
Rarely is one data structure better than anoth
A data structure requires:
– space for each data item it stores,
– time to perform each basic operation,
– programming effort.
http://ecomputernotes.com
![Page 21: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/21.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 21/48
Goals of this Course
1. Reinforce the concept that costs and benefits exist
1. Learn the commonly used data structures.
– These form a programmer's basic data structure “toolkit.”
1. Understand how to measure the cost of a data stru
– These techniques also allow you to judge the merits of ne
http://ecomputernotes.com
![Page 22: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/22.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 22/48
Goals of this Course
1. Reinforce the concept that costs and benefits exist
1. Learn the commonly used data structures.
– These form a programmer's basic data structure “toolkit”.
1. Understand how to measure the cost of a data stru
– These techniques also allow you to judge the merits of ne
http://ecomputernotes.com
![Page 23: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/23.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 23/48
Goals of this Course
1. Reinforce the concept that costs and benefits exist
1. Learn the commonly used data structures.
– These form a programmer's basic data structure “toolkit”.
1. Understand how to measure the cost of a data stru
– These techniques also allow you to judge the merits of ne
http://ecomputernotes.com
![Page 24: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/24.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 24/48
Arrays
Elementary data structure that exists as built-in in
main( int argc, char** argv )
{{int x[6];
int j;
for(j=0; j < 6; j++)=
x[j] = 2*j;
}
http://ecomputernotes.com
![Page 25: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/25.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 25/48
Arrays
Array declaration: int x[6];
An array is collection of cells of the same type.
The collection has the name ‘x’. The cells are numbered with consecutive integers.
To access a cell, use the array name and an index:
http://ecomputernotes.com
![Page 26: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/26.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 26/48
Array Layout
x[1]
x[2]
x[3]
x[4]
x[5]
x[0]
Array cells are contiguous in computer memory
The memory can be thought of as an array
http://ecomputernotes.com
![Page 27: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/27.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 27/48
What is Array Name?
‘x’ is an array name but there is no variable x. ‘x’ is not an lvalue.
For example, if we have the codeint
a, b;then we can writeb = 2;a = b;a = 5;But we cannot write2 = a;
http://ecomputernotes.com
![Page 28: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/28.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 28/48
What is Array Name?
‘x’ is an array name but there is no variable x. ‘x’ is not an lvalue.
For example, if we have the codeint
a, b;then we can writeb = 2;a = b;a = 5;But we cannot write2 = a;
http://ecomputernotes.com
![Page 29: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/29.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 29/48
What is Array Name?
‘x’ is an array name but there is no variable x. ‘x’ is not an lvalue.
For example, if we have the codeint
a, b;then we can writeb = 2;a = b;a = 5;But we cannot write2 = a;
http://ecomputernotes.com
![Page 30: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/30.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 30/48
Array Name
‘x’ is not an lvaluel int x[6];int n;x[0] = 5;x[1] = 2;x = 3;// not allowedx = a + b;// not allowedx = &n;//
http://ecomputernotes.com
![Page 31: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/31.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 31/48
Array Name
‘x’ is not an lvaluel int x[6];int n;x[0] = 5;x[1] = 2;x = 3;// not allowedx = a + b;// not allowedx = &n;//
http://ecomputernotes.com
![Page 32: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/32.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 32/48
Dynamic Arrays
You would like to use an array data structure but y
You find out when the program executes that you n
Allocate an array using the new operator:int* y = new int[20]; // or int* y = new int[n
]y[0] = 10;y[1] = 15;// use is the same
http://ecomputernotes.com
![Page 33: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/33.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 33/48
Dynamic Arrays
You would like to use an array data structure but y
You find out when the program executes that you n
Allocate an array using the new operator:int* y = new int[20]; // or int* y = new int[n
]y[0] = 10;y[1] = 15;// use is the same
http://ecomputernotes.com
![Page 34: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/34.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 34/48
Dynamic Arrays
You would like to use an array data structurebut you do not know the size of the array atcompile time.
You find out when the program executes thatyou need an integer array of size n=20.
Allocate an array using the new operator:
int* y = new int[20]; // or int* y = new int[n]y[0] = 10;y[1] = 15; // use is the same
http://ecomputernotes.com
![Page 35: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/35.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 35/48
Dynamic Arrays
‘y’ is a lvalue; it is a pointer that holds theaddress of 20 consecutive cells in memory.
It can be assigned a value. The new operator
returns as address that is stored in y. We can write:
y = &x[0];y = x; // x can appear on the right
// y gets the address of the // first cell of the x array
http://ecomputernotes.com
![Page 36: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/36.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 36/48
Dynamic Arrays
‘y’ is a lvalue; it is a pointer that holds theaddress of 20 consecutive cells in memory.
It can be assigned a value. The new operator
returns as address that is stored in y. We can write:
y = &x[0];y = x; // x can appear on the right
// y gets the address of the // first cell of the x array
http://ecomputernotes.com
![Page 37: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/37.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 37/48
Dynamic Arrays
‘y’ is a lvalue; it is a pointer that holds theaddress of 20 consecutive cells in memory.
It can be assigned a value. The new operator
returns as address that is stored in y. We can write:
y = &x[0];y = x; // x can appear on the right
// y gets the address of the // first cell of the x array
http://ecomputernotes.com
![Page 38: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/38.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 38/48
Dynamic Arrays
We must free the memory we got using thenew operator once we are done with the y array.
delete[ ] y;
We would not do this to the x array because wedid not use new to create it.
http://ecomputernotes.com
![Page 39: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/39.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 39/48
The LIST Data Structure
The List is among the most generic of datastructures.
Real life:
a. shopping list,
b. groceries list,
c. list of people to invite to dinner
d. List of presents to get
http://ecomputernotes.com
![Page 40: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/40.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 40/48
Lists
A list is collection of items that are all of thesame type (grocery items, integers, names)
The items, or elements of the list, are stored insome particular order
It is possible to insert new elements into
various positions in the list and remove anyelement of the list
http://ecomputernotes.com
![Page 41: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/41.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 41/48
Lists
A list is collection of items that are all of thesame type (grocery items, integers, names)
The items, or elements of the list, are stored insome particular order
It is possible to insert new elements into
various positions in the list and remove anyelement of the list
http://ecomputernotes.com
![Page 42: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/42.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 42/48
Lists
A list is collection of items that are all of thesame type (grocery items, integers, names)
The items, or elements of the list, are stored insome particular order
It is possible to insert new elements into
various positions in the list and remove anyelement of the list
http://ecomputernotes.com
![Page 43: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/43.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 43/48
Lists
List is a set of elements in a linear order.For example, data values a1, a2, a3, a4 can bearranged in a list:
(a3, a1, a2, a4)
In this list, a3, is the first element, a1 is thesecond element, and so on
The order is important here; this is not just arandom collection of elements, it is an ordered collection
http://ecomputernotes.com
![Page 44: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/44.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 44/48
Lists
List is a set of elements in a linear order.For example, data values a1, a2, a3, a4 can bearranged in a list:
(a3, a1, a2, a4)
In this list, a3, is the first element, a1 is thesecond element, and so on
The order is important here; this is not just arandom collection of elements, it is an ordered collection
http://ecomputernotes.com
![Page 45: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/45.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 45/48
List Operations
Useful operations• createList(): create a new list (presumably empty)
• copy(): set one list to be a copy of another
• clear(); clear a list (remove all elments)
• insert(X, ?): Insert element X at a particular positionin the list
• remove(?): Remove element at some position inthe list
• get(?): Get element at a given position
• update(X, ?): replace the element at a given positionwith X
• find(X): determine if the element X is in the list
• length(): return the length of the list.
http://ecomputernotes.com
![Page 46: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/46.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 46/48
List Operations
We need to decide what is meant by “particularposition”; we have used “?” for this.
There are two possibilities:
1. Use the actual index of element: insert after element3, get element number 6. This approach is taken byarrays
2. Use a “current” marker or pointer to refer to aparticular position in the list.
http://ecomputernotes.com
![Page 47: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/47.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 47/48
List Operations
We need to decide what is meant by “particularposition”; we have used “?” for this.
There are two possibilities:
1. Use the actual index of element: insert after element3, get element number 6. This approach is taken byarrays
2. Use a “current” marker or pointer to refer to aparticular position in the list.
http://ecomputernotes.com
![Page 48: Computer Notes - Data Structures - 1](https://reader030.vdocuments.us/reader030/viewer/2022021115/577d23291a28ab4e1e99224f/html5/thumbnails/48.jpg)
8/3/2019 Computer Notes - Data Structures - 1
http://slidepdf.com/reader/full/computer-notes-data-structures-1 48/48
List Operations
If we use the “current” marker, the followingfour methods would be useful:
start(): moves to “current” pointer to the very first
element. tail(): moves to “current” pointer to the very last
element.
next(): move the current position forward one
element back(): move the current position backward one
element