Pagini recente » Cod sursa (job #1901772) | Cod sursa (job #2765292) | Cod sursa (job #3004918) | Cod sursa (job #1108888) | Cod sursa (job #1250281)
#include <fstream>
using namespace std;
int n, v[500100];
inline void Swap(int &a, int &b)
{
if(a == b)
return;
a ^= b ^= a ^= b;
}
inline void QuickSort(int st, int dr)
{
if(st >= dr)
return;
int mij = ((st + dr) >> 1), i, pozpivot, pivot;
pivot = v[mij];
Swap(v[mij], v[dr]);
pozpivot = st;
for(i = st; i <= dr; ++i)
{
if(v[i] < pivot)
{
Swap(v[i], v[pozpivot]);
pozpivot++;
}
}
Swap(v[dr], v[pozpivot]);
QuickSort(st, pozpivot);
QuickSort(pozpivot + 1, dr);
}
int main()
{
int i;
ifstream fin("algsort.in");
fin >> n;
for(i = 1; i <= n; ++i)
fin >> v[i];
fin.close();
QuickSort(1, n);
ofstream fout("algsort.out");
for(i = 1; i <= n; ++i)
fout << v[i] << ' ';
fout << "\n";
fout.close();
return 0;
}