Lab Assignment 2
Question 1
#include <stdio.h>
int binarySearch(int arr[], int n, int key) {
int low = 0, high = n - 1, mid;
while (low <= high) {
mid = (low + high) / 2;
if (arr[mid] == key)
return mid;
else if (arr[mid] < key)
low = mid + 1;
else
high = mid - 1;
}
return -1;
}
int main() {
int n, key, result;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++)
scanf("%d", &arr[i]);
scanf("%d", &key);
result = binarySearch(arr, n, key);
if (result != -1)
printf("Element found at index %d\n", result);
else
printf("Element not found\n");
return 0;
}
Question 2
#include <stdio.h>
int main() {
int n, x, count = 0, first = -1;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++)
scanf("%d", &arr[i]);
scanf("%d", &x);
for (int i = 0; i < n; i++) {
if (arr[i] == x) {
count++;
if (first == -1)
first = i;
}
}
printf("Number of occurrences: %d\n", count);
if (first != -1)
printf("First occurrence at index: %d\n", first);
else
printf("Element not found\n");
return 0;
}
Question 3: Bubble Sort, Insertion Sort, Selection Sort
#include <stdio.h>
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++)
for (int j = 0; j < n - i - 1; j++)
if (arr[j] > arr[j + 1]) {
int t = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = t;
}
}
void insertionSort(int arr[], int n) {
for (int i = 1; i < n; i++) {
int key = arr[i], j = i - 1;
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = key;
}
}
void selectionSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
int min = i;
for (int j = i + 1; j < n; j++)
if (arr[j] < arr[min])
min = j;
int t = arr[min];
arr[min] = arr[i];
arr[i] = t;
}
}
void printArray(int arr[], int n) {
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);
printf("\n");
}
int main() {
int n;
scanf("%d", &n);
int arr[n], arr1[n], arr2[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
arr1[i] = arr[i];
arr2[i] = arr[i];
}
bubbleSort(arr, n);
printf("Bubble Sort: ");
printArray(arr, n);
insertionSort(arr1, n);
printf("Insertion Sort: ");
printArray(arr1, n);
selectionSort(arr2, n);
printf("Selection Sort: ");
printArray(arr2, n);
return 0;
}