Hello friends!!!!!

Array ADT

#include<stdio.h>

#include<stdlib.h>

typedef struct ARRAYADT

{

int *data;

int size;

int length;

} ArrayADT;

void initialisation(ArrayADT *arr, int size)

{

arr->data = (int )malloc(sizeof(int)size);

arr->size = size;

arr->length = 0;

}

void insertion(ArrayADT *arr, int element)

{

if(arr->length >= arr->size)

{

printf("\n Error: Array is FULL. Can not insert element.\n");

}

else

{

arr->data[arr->length] = element;

arr->length = arr->length + 1;

}

}

void deletion(ArrayADT *arr, int index)

{

int i;

if(index < 0 || index >= arr->length)

{

printf("\n Invalid index. Cannot delete element.\n");

}

else

{

for(i=index; i<arr->length-1; i++)

{

arr->data[i] = arr->data[i+1];

}

arr->length--;

}

}

void searching(ArrayADT *arr, int element)

{

int i,count = 0;

for(i=0; i<arr->length; i++)

{

if(arr->data[i] == element)

{

count++;

}

}

if(count >= 1)

{

printf("Target element is present\n");

}

else

{

printf("Target element is not present\n");

}

}

void display(ArrayADT *arr)

{

int i;

if(arr->length == 0)

{

printf("Array is empty.\n");

}

else

{

printf("Array elements : \n");

for(i=0; i<arr->length; i++)

{

printf("%d ",arr->data[i]);

}

}

printf("\n");

}

void main()

{

ArrayADT arr;

int n=6,i,x;

initialisation(&arr,10);

for(i=0;i<n;i++)

{

printf("\n Enter %dth element: ",i);

scanf("%d",&x);

insertion(&arr, x);

}

display(&arr);

printf("\n Enter an elemnt index to delete:");

scanf("%d",&i);

deletion(&arr,i);

printf("\n Array elements after deletion:\n");

display(&arr);

searching(&arr,5);

}