Pages

Sunday, June 15, 2025

Quick Sort algorithm in C++ (University Topic)

 


#include <iostream>

using namespace std;


// quick sort algorithm 

int partition(int arr[], int si, int ei){

    int pivot = arr[ei]; // last element as pivot

    int i = si-1; 

    

    for(int j=si; j<ei; j++) {

        if(arr[j] < pivot) {

            i++;

            swap(arr[i], arr[j]);

        }

    }

    swap(arr[i+1], arr[ei]);

    return i+1;

}


// Quick Sort function

void quickSort(int arr[], int si, int ei) {

    if(si < ei) {

        int pivotIdx = partition(arr, si, ei);

        

        quickSort(arr, si, pivotIdx-1); // sort left part

        quickSort(arr, pivotIdx+1, ei); // sort right part

    }

}



 void printArray(int arr[], int n) {

     for(int i=0; i<n; i++) {

         cout << arr[i] << " ";

     }

     cout << endl;

 }

int main() {

    int arr[] = {10, 5, 6, 7, 2, 1, 3};

    int n = sizeof(arr)/sizeof(int);

    

    cout << "Original Array: "; 

    printArray(arr, n);

    

    quickSort(arr, 0, n-1);

    cout << "Sorted Array: ";

    printArray(arr, n);


    return 0;

}

No comments:

Post a Comment

Stack using Linked List – Partial (University Exam Topic)

 #include <iostream> using namespace std; struct Node {     int data;     Node* next; }; class Stack {     Node* top; public:     Stac...