Sorting
Sorting
#include <iostream>
#include <chrono>
int temp;
temp = *x;
*x = *y;
*y = temp;
int i, j;
smallest = A[i];
position = i;
smallest = A[j];
position = j;
}
if (i != position)
swap(&A[i], &A[position]);
int i;
int j;
int temp;
j = i - 1;
temp = A[i];
A[j + 1] = A[j];
j = j - 1;
A[j + 1] = temp;
arr[k] = L[i];
i++;
else
arr[k] = R[j];
j++;
}
k++;
arr[k] = L[i];
i++;
k++;
arr[k] = R[j];
j++;
k++;
int mid =
left + (right - left) / 2; // Avoids overflow for large left and right
int x = l;
int y = r;
while (x < y)
x++;
y--;
if (x < y)
swap(&A[x], &A[y]);
A[l] = A[y];
A[y] = pivot;
return y;
if (l < r)
{
int p = partition(A, l, r);
quickSort(A, l, p - 1);
quickSort(A, p + 1, r);
// Main Function
int main()
int A[] = {12, 32, 34, 11, 1, 23, 69, 23, 43, 21};
int n;
n = 10;
display(A, n);
// Bubble Sorting
auto t1 = chrono::high_resolution_clock::now();
bubbleSort(A, n);
auto t2 = chrono::high_resolution_clock::now();
display(A, n);
auto bubble_duration =
chrono::duration_cast<chrono::nanoseconds>(t2 - t1);
cout << "Bubble Sort Duration: " << bubble_duration.count() << endl;
// Selection Sorting
auto t3 = chrono::high_resolution_clock::now();
selectionSort(A, n);
auto t4 = chrono::high_resolution_clock::now();
auto selection_duration =
chrono::duration_cast<chrono::nanoseconds>(t4 - t3);
display(A, n);
<< endl;
// Merge Sorting
auto t5 = chrono::high_resolution_clock::now();
mergeSort(A, 0, n - 1);
auto t6 = chrono::high_resolution_clock::now();
auto merge_duration =
chrono::duration_cast<chrono::nanoseconds>(t6 - t5);
display(A, n);
cout << "Merge Sort Duration: " << merge_duration.count() << endl;
// Insertion Sorting
auto t7 = chrono::high_resolution_clock::now();
insertionSort(A, n);
auto t8 = chrono::high_resolution_clock::now();
auto insertion_duration =
chrono::duration_cast<chrono::nanoseconds>(t8 - t7);
display(A, n);
<< endl;
// Quick Sorting
auto t9 = chrono::high_resolution_clock::now();
quickSort(A, 0, n - 1);
auto quick_duration =
chrono::duration_cast<chrono::nanoseconds>(t10 - t9);
display(A, n);
cout << "Quick Sort Duration: " << quick_duration.count() << endl;
return 0;