Week 9 programs on searching and sorting
#include <stdio.h>
#define MAX SIZE 25
int a[MAX_SIZE], 1 b = 0, ub;
1 = -
void swap(int, int);
void initialize;
void display;
void linearSearch;
void binarySearchO;
void bubbleSort;
void selectionSort0;
int main) {
int C;
printf "InProgram implementing searching and sorting techniques\\n");
Start:
printf("\\nEnter 1for linear search\\nEnter 2 for bubble sort\\nEnter 3 for selection sort\\nEnter 4 for binary searchnEnter 0 to exitin nEnter your choice: ");
scanf("%d", & c);
switch (c)
case 1:
initialize;
display0;
linearSearch;
break;
case 2:
initialize();
display();
bubbleSort();
printf("\\nSorting...\\n");
display();
break;
case 3:
initialize();
display();
selectionSort();
printf("\\nSorting...\\n");
display();
break;
case 4:
initialize();
display();
binarySearch();
break;
case 0:
printf("\\nThank you\\n");
goto end;
default:
printf("\\nInvalid choice\\n");
break;
}
goto start;
end:
return 0;
}
void swap(int x, int y) {
int t = a[x];
a[x] = a[y];
a[y] = t;
}
void initialize() {
start: printf("\\n\\nEnter number of elements: ");
int x;
scanf("%d", & x);
if (x > MAX_SIZE) {
printf("Invalid. Elements cannot be more than %d.\\n", MAX_SIZE);
goto start;
}
int i;
for (i = 0; i < x; i++) {
printf("Enter element A[%d] = ", i);
scanf("%d", & a[i]);
}
lb = 0;
ub = x - 1;
printf("\\nRead successful.");
}
void display() {
if (ub < lb) {
printf("Empty array.");
return;
}
printf("\\n\\nArray is : [");
int i;
for (i = lb; i <= ub; i++)
printf("%d, ", *(a + i));
printf("\\b\\b] \\n");
}
void linearSearch() {
int ele;
printf("\\nEnter element to be searched: ");
scanf("%d", & ele);
int i;
for (i = lb; i <= ub; i++) {
if (a[i] == ele) {
printf("\\nElement found at index %d\\n", i);
break;
}
}
if (i > ub)
printf("\\nElement not found\\n");
}
void bubbleSort() {
int i, j;
for (i = lb; i < ub; i++) {
for (j = 0; j < ub - i; j++) {
if (a[j] > a[j + 1])
swap(j, j + 1);
}
}
}
void selectionSort() {
int i, j, x;
for (i = lb; i < ub; i++) {
x = i;
for (j = i + 1; j <= ub; j++) {
if (a[j] < a[x])
x = j;
}
swap(i, x);
}
}
void binarySearch() {
bubbleSort();
int ele;
printf("\\nEnter element to be searched: ");
scanf("%d", & ele);
int l = lb, h = ub, m;
while (l <= h) {
m = (l + h) / 2;
if (a[m] == ele) {
printf("\\nElement found\\n");
return;
} else if (a[m] > ele)
h = m - 1;
else
l = m + 1;
}
printf("\\nElement not found\\n");
}
Program implementing searching and sorting techniques
Enter 1 for linear search
Enter 2 for bubble sort
Enter 3 for selection sort
Enter 4 for binary search
Enter 0 to exit
Enter your choice: 1
Enter number of elements: 4
Enter element A[0] = 11
Enter element A[1] = 22
Enter element A[2] = 33
Enter element A[3] = 44
Read successful.
Array is : [11, 22, 33, 44]
Enter element to be searched: 33
Element found at index 2
Enter 1 for linear search
Enter 2 for bubble sort
Enter 3 for selection sort
Enter 4 for binary search
Enter 0 to exit
Enter your choice: 2
Enter number of elements: 5
Enter element A[0] = 55
Enter element A[1] = 44
Enter element A[2] = 33
Enter element A[3] = 77
Enter element A[4] = 11
Read successful.
Array is : [55, 44, 33, 77, 11]
Sorting...
Array is : [11, 33, 44, 55, 77]