sort and binary search assignment 1
sort and binary search assignment 1
#include <bits/stdc++.h>
if (arr[mid] == target) {
return mid;
right = mid - 1;
else {
left = mid + 1;
return -1;
int main() {
printArray(arr, size);
if (result != -1) {
cout << "Element " << target << " found at index " << result << endl;
} else {
cout << "Element " << target << " not found in the array." << endl;
return 0;
}
Bubble sort
#include <bits/stdc++.h>
bool swapped;
swapped = false;
swapped = true;
if (!swapped)
break;
int main() {
int arr[] = {94, 43, 32, 22, 28, 51, 90};
printArray(arr, n);
bubbleSort(arr, n);
printArray(arr, n);
return 0;
}
Heap sort
#include <bits/stdc++.h>
int smallest = i;
int l = 2 * i + 1;
int r = 2 * i + 2;
smallest = l;
smallest = r;
if (smallest != i) {
swap(arr[i], arr[smallest]);
heapify(arr, n, smallest);
heapify(arr, n, i);
heapify(arr, i, 0);
int main() {
printArray(arr, n);
heapSort(arr, n);
printArray(arr, n);
return 0;
}
Insertion sort
#include <bits/stdc++.h>
int j = i - 1;
arr[j + 1] = arr[j];
j = j - 1;
arr[j + 1] = key;
int main() {
printArray(arr, n);
insertionSort(arr, n);
printArray(arr, n);
return 0;
}
Merge Sort
#include <bits/stdc++.h>
int i = 0, j = 0, k = left;
while (i < n1 && j < n2) arr[k++] = (L[i] > R[j]) ? L[i++] : R[j++];
for (int i = 0; i < n; i++) cout << arr[i] << " ";
int main() {
int arr[] = {94, 43, 32, 22, 28, 51, 90}, n = sizeof(arr) / sizeof(arr[0]);
mergeSort(arr, 0, n - 1);
return 0;
}
Quick Sort
#include <bits/stdc++.h>
int i = low - 1;
i++;
swap(arr[i], arr[j]);
return i + 1;
quickSort(arr, pi + 1, high);
}
void printArray(int arr[], int n) {
int main() {
printArray(arr, n);
quickSort(arr, 0, n - 1);
printArray(arr, n);
return 0;
}
Selection Sort
#include <bits/stdc++.h>
int max_idx = i;
max_idx = j;
swap(arr[i], arr[max_idx]);
int main() {
printArray(arr, n);
selectionSort(arr, n);
printArray(arr, n);
return 0;