Pagini recente » Cod sursa (job #2519298) | Cod sursa (job #46654) | Cod sursa (job #3038377) | Cod sursa (job #260477) | Cod sursa (job #631455)
Cod sursa(job #631455)
#include<fstream>
using namespace std;
int v[500500],n;
inline int partition(int left, int right, int pivot) {
int i, index=left;
swap(v[right],v[pivot]);
for(i=left;i<right;i++)
if(v[i]<v[right])
swap(v[i],v[index++]);
swap(v[right],v[index]);
return index;
}
void quicksort(int left, int right) {
if(left<right) {
int mij=(left+right)>>1;
mij=partition(left, right, mij);
quicksort(left, mij-1);
quicksort(mij+1, right);
}
}
int main() {
int i;
ifstream in("algsort.in");
for(i=0,in>>n;i<n;in>>v[i],i++);
in.close();
quicksort(0,n-1);
ofstream out("algsort.out");
for(i=0;i<n;out<<v[i]<<" ",i++);
out.close();
return 0;
}