Pagini recente » Cod sursa (job #2137198) | Cod sursa (job #2625196) | Cod sursa (job #2502569) | Cod sursa (job #1277408) | Cod sursa (job #3241108)
#include <fstream>
#include <cstdlib>
#include <ctime>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n,i,v[500009];
int Divide(int st, int dr)
{
int pivot;
pivot=v[st];
while(st<dr)
{
while(st<dr && v[dr]>=pivot)
{
dr--;
}
v[st]=v[dr];
while(st<dr && v[st]<=pivot)
{
st++;
}
v[dr]=v[st];
}
v[st]=pivot;
return st;
}
void Quick_Sort(int st, int dr)
{
int poz;
if(st<dr)
{
poz=Divide(st,dr);
Quick_Sort(st,poz-1);
Quick_Sort(poz+1,dr);
}
}
int main()
{
ios_base::sync_with_stdio(false);
fin.tie(NULL);
srand(time(NULL));
fin>>n;
for(i=1; i<=n; i++)
{
fin>>v[i];
}
Quick_Sort(1,n);
for(i=1; i<=n; i++)
{
fout<< v[i] << " ";
}
return 0;
}