quicksort

 #include <iostream>

using namespace std;


int partition(int*arr,int lb,int ub){

    int pivot=arr[lb];

    int start=lb;

    int end=ub;

    while(start<end){

        while(arr[start]<=pivot){

            start++;

        }

        while(arr[end]>pivot){

            end--;

        }

        

        if(start<end){

            int temp;

            temp=arr[end];

            arr[end]=arr[start];

            arr[start]=temp;

        }

    }

    

    int temp1;

    temp1=arr[end];

    arr[end]=arr[lb];

    arr[lb]=temp1;

    

    return end;

    

}


void quicksort(int*arr,int lb,int ub){

    if(lb<ub){

        int loc=partition(arr,lb,ub);

        quicksort(arr,lb,loc-1);

        quicksort(arr,loc+1,ub);

    }

}


int main() {

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

    quicksort(arr,0,9);

        

    

    

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

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

    }

    

    return 0;

}

Comments

Popular posts from this blog

Sum of Even Numbers till N

Find the Runner-Up Score!

Print All Substrings