Subscribe Us

Responsive Advertisement

Advertisement

Quicksort using c++

 Quicksort using c++

by ujjal roy




#include<bits/stdc++.h>

#include <ext/pb_ds/assoc_container.hpp>

#include <ext/pb_ds/tree_policy.hpp>

using namespace std;

using namespace __gnu_pbds;

#define ll long long int

#define endl "\n"

#define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update>

ll arr[100];

ll partision(ll l,ll r)

{

    ll pivot;

    pivot=arr[r];

    ll i,j;

    i=l;

    for(j=l;j<r;j++)

    {

        if(arr[j]<pivot)

        {

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

            i++;

        }

    }

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

    return i;


}

void quickSort(ll l,ll r)

{

    if(l<r)

    {

        ll position;

        position=partision(l,r);

        quickSort(l,position-1);

        quickSort(position+1,r);

    }

}

int main()

{

   ios_base::sync_with_stdio(0);

   cin.tie(0);

   cout.tie(0);



    ll n;

    cin>>n;

    ll i;

    for(i=0;i<n;i++)cin>>arr[i];

    quickSort(0,n-1);

    for(i=0;i<n;i++)cout<<arr[i]<<" ";



    return 0;


}



Post a Comment

0 Comments