Pagini recente » Cod sursa (job #2250769) | Cod sursa (job #1638898) | Cod sursa (job #1737315) | Cod sursa (job #486836) | Cod sursa (job #1330853)
#include <fstream>
#define Nmax 500100
using namespace std;
int N, V[Nmax];
void QuickSort(int A, int B) {
int left = A;
int right = B;
int middle = (left + right) >> 1;
while(left <= right) {
while(V[left] < V[middle])
left++;
while(V[right] > V[middle])
right--;
swap(V[left], V[right]);
++left;
--right;
}
if(A < right)
QuickSort(A, right);
if(left < B)
QuickSort(left, B);
}
void Read() {
ifstream in("algsort.in");
in >> N;
for(int i = 1; i <= N; i++)
in >> V[i];
in.close();
}
void Write() {
ofstream out("algsort.out");
for(int i = 1; i <= N; i++)
out << V[i] << ' ';
out << '\n';
out.close();
}
int main() {
Read();
QuickSort(1, N);
Write();
return 0;
}