0% found this document useful (0 votes)
6 views14 pages

Array Operations and Algorithms in C

Uploaded by

venulogics2004
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views14 pages

Array Operations and Algorithms in C

Uploaded by

venulogics2004
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

#include<stdio.

h>

#include<stdlib.h>

void read_array(int a[],int n);

void insert_front_s(int a[],int n,int ele);

void insert_front_u(int a[],int n,int ele);

void insert_end_s_u(int a[],int n,int ele);

void print_array(int a[],int n);

void insert_any_pos_s(int a[],int n,int ele,int p);

void insert_any_pos_u(int a[],int n,int ele,int p);

void delete_front_s(int a[],int n);

void delete_front_u(int a[],int n);

void delete_any_pos_s(int a[],int n,int p);

void delete_any_pos_u(int a[],int n,int p);

void delete_end_s_u(int a[],int n);

void bubble_sort(int a[],int n);

void linear_search(int a[],int n,int se);

void binary_search(int a[],int n,int se);

void merge_two_array(int a[],int n,int b[],int m);

void reverse_array(int a[],int n);

void large_slarge(int a[],int n);

void small_ssmall(int a[],int n);

void remove_dup(int a[],int n);

void sum_array_ele(int a[],int n);

int main()

//using ch for storing case number

//using b array for second array for merging it further as a+b

//n-for a array size m-b array size p-position

int a[10],n,ele,i,p,b[10],m;

int ch;

//giving array size of A array


printf("Enter A array size:");

scanf("%d",&n);

printf("Enter A Array elements:");

//storing the elements in array by calling function

read_array(a,n);

while(1)

printf("\n****Array Operations****\n");

printf("[Link] Front sorted\[Link] Front unsorted\[Link] End sorted and unsorted\n");

printf("[Link] any position sorted\[Link] any position unsorted\n");

printf("[Link] front sorted\[Link] front unsorted\[Link] front any position sorted\n");

printf("[Link] front any position unsorted\[Link] End sorted and unsorted\n");

printf("[Link] sorting\[Link] search\[Link] search\n);

printf(“[Link] two array\[Link] Array\n”);

printf(“[Link] and second largest element in array\n");

printf("[Link] and second smallest element in array\n”);

printf(“[Link] duplicates in an array\[Link] of array elements\[Link]\n");

printf("Enter operation number:");//case number

scanf("%d",&ch);

switch(ch)

case 1:printf("Enter inserting element:");

scanf("%d",&ele);

insert_front_s(a,n,ele);

break;

case 2:printf("Enter inserting element:");

scanf("%d",&ele);

insert_front_u(a,n,ele);

break;

case 3:printf("Enter inserting element:");

scanf("%d",&ele);
insert_end_s_u(a,n,ele);

break;

case 4:printf("Enter inserting element:");

scanf("%d",&ele);

printf("Enter the position:");

scanf("%d",&p);

if(p-1>=0&&p<n)

insert_any_pos_s(a,n,ele,p);

else

printf("Entered position is Invalid....");

break;

case 5:printf("Enter inserting element:");

scanf("%d",&ele);

printf("Enter the position:");

scanf("%d",&p);

if(p-1>=0&&p<n)

insert_any_pos_u(a,n,ele,p);

else

printf("Entered position is Invalid....");

break;

case 6:delete_front_s(a,n);

break;

case 7:delete_front_u(a,n);

break;

case 8:printf("Enter the position:");

scanf("%d",&p);

if(p-1>=0&&p<n)

delete_any_pos_s(a,n,p);

else

printf("Entered position is Invalid....");

break;
case 9:printf("Enter the position:");

scanf("%d",&p);

if(p-1>=0&&p<n)

delete_any_pos_u(a,n,p);

else

printf("Entered position is Invalid....");

break;

case 10:delete_end_s_u(a,n);

break;

case 11:bubble_sort(a,n);

break;

case 12:printf("Enter the search element:");

scanf("%d",&ele);

linear_search(a,n,ele);

break;

case 13:printf("Enter the search element:");

scanf("%d",&ele);

binary_search(a,n,ele);

break;

case 14:printf("Enter B array size:");

scanf("%d",&m);

printf("Enter B Array elements:");

read_array(b,m);

merge_two_array(a,n,b,m);

break;

case 15:reverse_array(a,n);

break;

case 16:large_slarge(a,n);

break;

case 17:small_ssmall(a,n);

break;
case 18:remove_dup(a,n);

break;

case 19:sum_array_ele(a,n);

break;

case 20:exit(0);

default:printf("Invalid case.....\n");

void read_array(int a[],int n)

int i;

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

scanf("%d",&a[i]);

void print_array(int a[],int n)

int i;

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

printf("%d\t",a[i]);

void insert_front_s(int a[],int n,int ele)

int i;

for(i=n-1;i>=0;i--)

a[i+1]=a[i];

a[0]=ele;

n=n+1;

printf("After inserting in front of array sorted: ");

print_array(a,n);

}
void insert_front_u(int a[],int n,int ele)

a[n]=a[0];

a[0]=ele;

n=n+1;

printf("After inserting in front of array unsorted: ");

print_array(a,n);

void insert_end_s_u(int a[],int n,int ele)

a[n]=ele;

n=n+1;

printf("After inserting in End of array: ");

print_array(a,n);

void insert_any_pos_s(int a[],int n,int ele,int p)

int i;

for(i=n-1;i>=p-1;i--)

a[i+1]=a[i];

a[p-1]=ele;

n=n+1;

printf("After inserting in %d position sorted: ",p);

print_array(a,n);

void insert_any_pos_u(int a[],int n,int ele,int p)

a[n]=a[p-1];

a[p-1]=ele;

n=n+1;

printf("After inserting in %d position sorted: ",p);


print_array(a,n);

void delete_front_s(int a[],int n)

int i;

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

a[i]=a[i+1];

a[n-1]=0;

n=n-1;

printf("After deleting front sorted: ");

print_array(a,n);

void delete_front_u(int a[],int n)

a[0]=a[n-1];

a[n-1]=0;

n=n-1;

printf("After deleting front unsorted: ");

print_array(a,n);

void delete_any_pos_s(int a[],int n,int p)

int i;

for(i=p-1;i<n;i++)

a[i]=a[i+1];

a[n-1]=0;

n=n-1;

printf("After deleting %d position sorted: ",p);

print_array(a,n);

void delete_any_pos_u(int a[],int n,int p)


{

a[p-1]=a[n-1];

a[n-1]=0;

n=n-1;

printf("After deleting %d position unsorted: ",p);

print_array(a,n);

void delete_end_s_u(int a[],int n)

a[n-1]=0;

n=n-1;

printf("After deleting End Sorted and Unsorted: ");

print_array(a,n);

void bubble_sort(int a[],int n)

int i,j,temp;

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

for(j=0;j<n-i-1;j++)

if(a[j]>a[j+1])

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

printf("After Sorting the given list: ");

print_array(a,n);
}

void linear_search(int a[],int n,int se)

int i,flag=0;

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

if(se==a[i])

flag=1;

break;

if(flag==1)

printf("Search element %d found in %dth index",se,i);

else

printf("Search element %d not found",se);

void binary_search(int a[],int n,int se)

bubble_sort(a,n);

int l=0,h=n-1,m;

m=(l+h)/2;

while(l<=h)

if(se==a[m])

printf("\nSearch element %d found in %dth index",se,m);

break;

else if(se<a[m])

h=m-1;
else

l=m+1;

m=(l+h)/2;

if(l>h)

printf("Search element %d not found in list.....",se);

void merge_two_array(int a[],int n,int b[],int m)

int i,p,c[40],j;

p=n+m;

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

c[i]=a[i];

for(j=0;j<m;j++)

c[i+j]=b[j];

printf("After Merging A and B array: ");

print_array(c,p);

void reverse_array(int a[],int n)

int l=0,h=n-1,temp;

while(l<h)

temp=a[h];

a[h]=a[l];

a[l]=temp;

l++;

h--;

printf("After reversing Array: ");


print_array(a,n);

void large_slarge(int a[],int n)

int i,l,s_l,temp;

l=a[0];

s_l=a[1];

if(l<s_l)

temp=s_l;

s_l=l;

l=temp;

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

if(a[i]>l)

s_l=l;

l=a[i];

else if(a[i]>s_l&&a[i]!=l)

s_l=a[i];

printf("Largest number in the given list is:%d\n",l);

printf("Second largest number in the given list is:%d\n",s_l);

void small_ssmall(int a[],int n)

int i,s,s_s,temp;

s=a[0];

s_s=a[1];
if(s>s_s)

temp=s_s;

s_s=s;

s=temp;

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

if(a[i]<s)

s_s=s;

s=a[i];

else if(a[i]<s_s&&a[i]!=s)

s_s=a[i];

printf("Smallest number in the given list is:%d\n",s);

printf("Second Smallest number in the given list is:%d\n",s_s);

void remove_dup(int a[],int n)

int i,j,k,flag=0;

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

for(j=i+1;j<n;j++)

if(a[i]==a[j])

flag=1;

for(k=j;k<n;k++)

a[k]=a[k+1];
j--;

n=n-1;

if(flag==1)

printf("After removing duplicates in the Array:");

print_array(a,n);

else

printf("There are no duplicates in the given array\n");

void sum_array_ele(int a[],int n)

int sum=0,i;

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

sum=sum+a[i];

printf("The sum of the elements in the given array is:%d",sum);

}
OUTPUT OF MENU

You might also like