Introduction
This is an introduction of Quick Sort Algorithm.
Language: C++
#include <iostream>
using namespace std;
// Function to swap two elements in the array
void swap(int arr[], int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
// Function to partition the array and return the pivot index
int partition(int arr[], int start, int end) {
int pivot = arr[end]; // Choosing the last element as the pivot
int i = start - 1; // Index of smaller element
for (int j = start; j < end; j++) {
if (arr[j] < pivot) {
i++;
swap(arr, i, j);
}
}
swap(arr, i + 1, end);
return (i + 1);
}
// Function to perform Quick Sort
void quickSort(int arr[], int start, int end) {
if (start < end) {
int pi = partition(arr, start, end);
quickSort(arr, start, pi - 1);
quickSort(arr, pi + 1, end);
}
}
// Function to print the array
void printArray(int arr[], int size) {
for (int i = 0; i < size; i++)
cout << arr[i] << " ";
cout << endl;
}
int main() {
int arr[] = {7, 2, 1, 6, 8, 5, 3, 4};
int n = sizeof(arr) / sizeof(arr[0]);
cout << "Original array: ";
printArray(arr, n);
quickSort(arr, 0, n - 1);
cout << "Sorted array: ";
printArray(arr, n);
return 0;
}
Output:
Original array: 7 2 1 6 8 5 3 4
Sorted array: 1 2 3 4 5 6 7 8