UNIT II: ARRAYS AND LIST �
ADT = properties + operations
(representing the internal state of each object
Implementation of an ADT
Array�INTRODUCTION
Array�INTRODUCTION
Array Implementation
1D Array Representation
2D Arrays
int a[3][4] ;
a[0][0] a[0][1] a[0][2] a[0][3]
a[1][0] a[1][1] a[1][2] a[1][3]
a[2][0] a[2][1] a[2][2] a[2][3]
2D Array Representation
Array Applications
Array Implementation...
Array Declaration�
int arr[10];
int b=10;
int arr1[b];
int [b+5];
int arr2[4][5];
Dynamic array declaration�
int size_arr;
scanf("&d",&siz_arr);
int *arr1 = (int*)malloc(sizeof(int)*size_arr);
int p[size];
for(i = 0; i < size; i++ )
{ scanf("%d",&p[i])
}
Or
for(i = 0; i < size; i++ )
{ scanf("%d",(p+i));
}
Multi-dimensional SPARSE Matrix
m X n values.
When m=n, we call it a square matrix.
Multi-dimensional SPARSE Matrix
Multi-dimensional SPARSE Matrix
�| 1 0 0 |�| 0 0 0 |�| 0 4 0 |
Sparse Matrix Representations�
TRIPLET REPRESENTATION (ARRAY REPRESENTATION)
TRIPLET REPRESENTATION
Array Implementation – �TRIPLET REPRESENTATION
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",Arr[i][j]);
}
printf("\n");
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(Arr[i][j]!=0)
{
B1[s1][0]=Arr[i][j];
B1[s1][1]=i;
B1[s1][2]=j;
s1++;}
}
}
Linked List Representation
Linked List Representation
Node Declaration