1.
Array Traversal
Definition:
Traversal means visiting each element of the array one by one.
C Program
#include <stdio.h>
int main()
{
int a[100], n, i;
printf("Enter number of elements: ");
scanf("%d",&n);
printf("Enter elements:\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
printf("Array elements are:\n");
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
return 0;
}
2. Array Insertion
Definition:
Insertion means adding a new element at a specified position in the array.
C Program
#include <stdio.h>
int main()
{
int a[100], n, i, pos, element;
printf("Enter number of elements: ");
scanf("%d",&n);
printf("Enter elements:\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
printf("Enter position to insert: ");
scanf("%d",&pos);
printf("Enter element: ");
scanf("%d",&element);
for(i=n;i>=pos;i--)
{
a[i]=a[i-1];
}
a[pos-1]=element;
n++;
printf("Array after insertion:\n");
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
return 0;
}
3. Array Deletion
Definition:
Deletion means removing an element from a given position.
C Program
#include <stdio.h>
int main()
{
int a[100], n, i, pos;
printf("Enter number of elements: ");
scanf("%d",&n);
printf("Enter elements:\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
printf("Enter position to delete: ");
scanf("%d",&pos);
for(i=pos-1;i<n-1;i++)
{
a[i]=a[i+1];
}
n--;
printf("Array after deletion:\n");
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
return 0;
}
4. Linear Search
Definition:
Linear search checks each element sequentially until the element is found.
C Program
#include <stdio.h>
int main()
{
int a[100], n, i, key, found=0;
printf("Enter number of elements: ");
scanf("%d",&n);
printf("Enter elements:\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
printf("Enter element to search: ");
scanf("%d",&key);
for(i=0;i<n;i++)
{
if(a[i]==key)
{
printf("Element found at position %d",i+1);
found=1;
break;
}
}
if(found==0)
{
printf("Element not found");
}
return 0;
}
5. Binary Search
Definition:
Binary search works only on sorted arrays and repeatedly divides the array into halves.
C Program
#include <stdio.h>
int main()
{
int a[100], n, i, key, low, high, mid, found=0;
printf("Enter number of elements: ");
scanf("%d",&n);
printf("Enter sorted elements:\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
printf("Enter element to search: ");
scanf("%d",&key);
low=0;
high=n-1;
while(low<=high)
{
mid=(low+high)/2;
if(a[mid]==key)
{
printf("Element found at position %d",mid+1);
found=1;
break;
}
else if(key<a[mid])
{
high=mid-1;
}
else
{
low=mid+1;
}
}
if(found==0)
{
printf("Element not found");
}
return 0;
}
6. Bubble Sort
Definition:
Bubble sort repeatedly compares adjacent elements and swaps them if they are in the wrong
order.
C Program
#include <stdio.h>
int main()
{
int a[100], n, i, j, temp;
printf("Enter number of elements: ");
scanf("%d",&n);
printf("Enter elements:\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
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("Sorted array:\n");
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
return 0;
}
Menu Driven Program for Array Operation’s
#include <stdio.h>
int a[100], n = 0, i;
void create()
{
printf("Enter number of elements: ");
scanf("%d", &n);
printf("Enter elements:\n");
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
}
void display()
{
printf("Array elements are:\n");
for(i = 0; i < n; i++)
printf("%d ", a[i]);
printf("\nBackward Traversal:\n");
for(i = n - 1; i >= 0; i--)
printf("%d ", a[i]);
printf("\n");
}
void insert()
{
int pos, element;
printf("Enter position: ");
scanf("%d", &pos);
if(pos < 1 || pos > n + 1)
{
printf("Invalid position\n");
return;
}
printf("Enter element: ");
scanf("%d", &element);
for(i = n; i >= pos; i--)
a[i] = a[i - 1];
a[pos - 1] = element;
n++;
printf("Element inserted.\n");
}
void delete_element()
{
int pos;
printf("Enter position to delete: ");
scanf("%d", &pos);
if(pos < 1 || pos > n)
{
printf("Invalid position\n");
return;
}
for(i = pos - 1; i < n - 1; i++)
a[i] = a[i + 1];
n--;
printf("Element deleted.\n");
}
void linear_search()
{
int key, found = 0;
printf("Enter element to search: ");
scanf("%d", &key);
for(i = 0; i < n; i++)
{
if(a[i] == key)
{
printf("Element found at position %d\n", i + 1);
found = 1;
break;
}
}
if(found == 0)
printf("Element not found\n");
}
void bubble_sort()
{
int 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("Array sorted.\n");
}
void binary_search()
{
int key, low = 0, high = n - 1, mid;
printf("Enter element to search: ");
scanf("%d", &key);
while(low <= high)
{
mid = (low + high) / 2;
if(a[mid] == key)
{
printf("Element found at position %d\n", mid + 1);
return;
}
else if(key < a[mid])
high = mid - 1;
else
low = mid + 1;
}
printf("Element not found\n");
}
int main()
{
int choice;
while(1)
{
printf("\n--- ARRAY OPERATIONS MENU ---\n");
printf("1. Create Array\n");
printf("2. Display Array\n");
printf("3. Insert Element\n");
printf("4. Delete Element\n");
printf("5. Linear Search\n");
printf("6. Bubble Sort\n");
printf("7. Binary Search\n");
printf("8. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch(choice)
{
case 1: create(); break;
case 2: display(); break;
case 3: insert(); break;
case 4: delete_element(); break;
case 5: linear_search(); break;
case 6: bubble_sort(); break;
case 7: binary_search(); break;
case 8: return 0;
default: printf("Invalid choice\n");
}
}
}