Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int a[100000],n;
- int quicksort(int s, int d){
- int i,j,m,aux,k;
- if(s<d){
- if(s<k){
- m=a[(k+d)/2];
- i=s-1;
- j=k+1;
- while(i<j){
- do{
- i++;
- }while(a[i]<m);
- do{
- j--;
- }while(a[j]>m);
- if(i<j){
- aux=a[i];
- a[i]=a[j];
- a[j]=aux;
- }
- }
- quicksort(s,j);
- quicksort(j+1,k);
- }else
- if(k+1<d){
- i=k;
- j=d+1;
- m=a[(k+d)/2];
- while(i<j){
- do{
- i++;
- }while(a[i]>m);
- do{
- j--;
- }while(a[j]<m);
- if(i<j){
- aux=a[j];
- a[j]=a[i];
- a[i]=aux;
- }
- }
- quicksort(k, j);
- quicksort(j+1,d);
- }
- }
- }
- int main(){
- cin>>n;
- int k;
- cin>>k;
- int i;
- for(i=1;i<=n;i++)
- cin>>a[i];
- quicksort(1,n);
- for(i=1;i<=n;i++)
- cout<<a[i]<<" ";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement