// SORTOWANIE SZYBKIE
#include <cstdio>
#include <iostream>
using namespace std;
void quicksort(int tab[], int left, int right)
{
int i=left;
int j=right;
int x=tab[(left+right)/2];
do{
while(tab[i]>x) i++;
while(tab[j]<x) j--;
if(i<=j){
int temp=tab[i];
tab[i]=tab[j];
tab[j]=temp;
i++;
j--;
}
}while(i<=j);
if(left<j) quicksort(tab,left,j);
if(right>i) quicksort(tab,i,right);
}
int main()
{
int a[10]={6,1,1,3,4,5,3,2,3,2};
for (int i=0; i<10; i++)
printf("%d.=%d \n",i,a[i]);
cout << endl;
quicksort(a,0,10);
for (int i=0; i<10; i++)
printf("%d.=%d \n",i,a[i]);
cout << endl;
return 0;
}
Ly8gU09SVE9XQU5JRSBTWllCS0lFCiNpbmNsdWRlIDxjc3RkaW8+CiNpbmNsdWRlIDxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgcXVpY2tzb3J0KGludCB0YWJbXSwgaW50IGxlZnQsIGludCByaWdodCkKewogICAgIGludCBpPWxlZnQ7CiAgICAgaW50IGo9cmlnaHQ7CiAgICAgaW50IHg9dGFiWyhsZWZ0K3JpZ2h0KS8yXTsKICAgICBkb3sKICAgICAgICAgd2hpbGUodGFiW2ldPngpIGkrKzsKICAgICAgICAgd2hpbGUodGFiW2pdPHgpIGotLTsKICAgICAgICAgaWYoaTw9ail7CiAgICAgICAgICAgICBpbnQgdGVtcD10YWJbaV07CiAgICAgICAgICAgICB0YWJbaV09dGFiW2pdOwogICAgICAgICAgICAgdGFiW2pdPXRlbXA7CiAgICAgICAgICAgICBpKys7CiAgICAgICAgICAgICBqLS07CiAgICAgICAgIH0KICAgICB9d2hpbGUoaTw9aik7CiAgICAgaWYobGVmdDxqKSBxdWlja3NvcnQodGFiLGxlZnQsaik7CiAgICAgaWYocmlnaHQ+aSkgcXVpY2tzb3J0KHRhYixpLHJpZ2h0KTsKfQoKaW50IG1haW4oKQp7CiAgICBpbnQgYVsxMF09ezYsMSwxLDMsNCw1LDMsMiwzLDJ9OwoKICAgIGZvciAoaW50IGk9MDsgaTwxMDsgaSsrKQogICAgICAgIHByaW50ZigiJWQuPSVkIFxuIixpLGFbaV0pOwogICAgY291dCA8PCBlbmRsOwogICAgCiAgICBxdWlja3NvcnQoYSwwLDEwKTsKICAgIAogICAgZm9yIChpbnQgaT0wOyBpPDEwOyBpKyspCiAgICAgICAgcHJpbnRmKCIlZC49JWQgXG4iLGksYVtpXSk7CiAgICBjb3V0IDw8IGVuZGw7CiAgICByZXR1cm4gMDsKfQo=