0% found this document useful (0 votes)
3 views

DS 02 Array List

Array List ppt

Uploaded by

kinshahra
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

DS 02 Array List

Array List ppt

Uploaded by

kinshahra
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Data Structure

Video Lecture

Lecture No. 2

Array List
Engr. Rashid Farid Chishti
http://youtube.com/rfchishti
http://sites.google.com/site/chis
hti International Islamic University H-10, Islamabad, Pakistan
Implementing Array List
 We have designed the interface for the List; we now must consider how to
implement that interface.
 Implementing Lists using an array:
 for example, the list of integers {2, 6, 8, 7, 1} could be represented as:
Index No. 0 1 2 3 4 5 6 7 Size
Data 2 6 8 7 1 8

 insert(3,9): The new list would thus be: {2, 6, 8, 9, 7, 1}


 We have to shift every element to the right of one place from current position to make
space for the new element ‘9’.
Index No. 0 1 2 3 4 5 6 7 Size

Step 1: Data 2 6 8 7 7 1 8

Index No. 0 1 2 3 4 5 6 7 Size


Step 2: Data 2 6 8 9 7 1 8
Implementing Array List
 insert(3,9):

void insert ( int pos, int num ){


int i;
// Rigt Shift all numbers from pos position.
for ( i = size - 1 ; i > pos ; i-- )
data[i] = data[i - 1] ;
// now place the data at pos position.
data[i] = num ;
}
Implementing Array List
 Remove(1): Removes the element at the index 1.
 We have to shift every element to the left of one place from index number
1 to remove data .

Index No. 0 1 2 3 4 5 6 7 Size

Step 1: Data 2 6 8 9 7 1 8

Index No. 0 1 2 3 4 5 6 7 Size


Step 2: Data 2 8 9 7 1 8
Implementing Array List
 Remove(1):
remove ( int pos )
{
int i;
// Left Shift all numbers from pos position.
for ( i = pos ; i < size ; i++ )
data[i] = data[i + 1] ;

// Fill the right most number with 0 to avoid filling garbage


vlaue
data[i - 1] = 0;
}
Implementing Array List
 Find(9): Find a Number 9 from Array List.

void Find(int Data_to_Search)


{
for(int i=0 ; i < size ; i++ )
if( Data[i] == Data_to_Search ){
cout << num << " is present at index No. "<< i <<
endl ;
return;
}
cout << "\nNot Found "<< num << endl ;
}
Implementing Array List
 Copy(): Copies a List.

 Clear(): clear a list (remove all elements)

 Get(?): Get element at a given position

 update ( int pos, int num ): replace the element at a given position
with num;
Example 1: List Using an Array
#include <iostream> void update ( int pos, int num );
using namespace std; void find ( int num ) ;
void reverse( ) ;
class List void display( ) ;
{ int length();
private : };
int size;
int *data ; List :: List(){
data = nullptr;
public : size = 0;
List(); }
List(int sz);
void create(int sz); List :: List(int sz){
List copy (); size = sz;
void clear (); data = new int[size];
void insert ( int pos, int num ) ; for (int i=0 ; i<size ; i++)
void remove ( int pos ) ; data[i] = 0;
int get(int pos); }

1 8 2
Example 1: List Using an Array
void List :: create(int sz) void List::clear (){
{ if (data != nullptr)
size = sz; delete [] data;
data = new int[size]; }
for (int i=0 ; i<size ; i++)
data[i] = 0; void List :: insert ( int pos, int num ){
} int i;
for ( i = size - 1 ; i > pos ; i-- )
int List::length(){ data[i] = data[i - 1] ;
return (size); data[i] = num ;
} }

List List::copy (){ void List :: remove ( int pos ){


List temp(size); int i;
for (int i = 0 ; i<size ; i++){ for ( i = pos ; i < size ; i++ )
temp.data[i] = data[i]; data[i] = data[i + 1] ;
} data[i - 1] = 0;
return temp; }
}
3 9 4
Example 1: List Using an Array
int List :: get ( int pos ){ void List :: display( ) {
return data[pos]; cout<< endl ;
} for ( int i = 0 ; i < size ; i++ )
void List :: update ( int pos, int num ){ cout << " " << data[i] ;
data[pos] = num ; cout << endl;
} }
void List :: find ( int num ){
int i; int main( ){
for ( i = 0 ; i < size ; i++ ) List l1,l2;
{ l1.create(8);
if ( data[i] == num ){
cout << "\nThe element " << num l1.insert(0,2);l1.insert(1,6);
<< " is present at index No. " l1.insert(2,8);l1.insert(3,7);
<< i << endl ; return ; l1.insert(4,1);l1.display();
}
} l1.insert(3,9); l1.display();
cout << "\nThe element " << num l1.remove(1); l1.display();
<< " is not present" ; return 0;
} }
5 10 6
Implementing Array List

You might also like