Pagini recente » Cod sursa (job #3256310) | Cod sursa (job #163411) | Cod sursa (job #3235920) | Cod sursa (job #981984) | Cod sursa (job #1540119)
#include <fstream>
using namespace std;
int n,i,v[500001],w[500001];
void interclaseaza(int st,int mid, int dr){
int i,j,k;
i = st;
j = mid+1;
k = st-1;
while (i<=mid && j<=dr){
if (v[i] < v[j]){
w[++k] = v[i];
i++;
}
else{
w[++k] = v[j];
j++;
}
}
for (;i<=mid;i++)
w[++k] = v[i];
for (;j<=dr;j++)
w[++k] = v[j];
for (i=st;i<=dr;i++)
v[i] = w[i];
}
void sorteaza (int st,int dr){
int mid;
if (st < dr){
mid = (st+dr)/2;
sorteaza (st,mid);
sorteaza (mid+1, dr);
interclaseaza (st,mid,dr);
}
}
ifstream fin ("algsort.in");
ofstream fout ("algsort.out");
int main (){
fin>>n;
for (i=1;i<=n;i++)
fin>>v[i];
sorteaza (1,n);
for (i=1;i<=n;i++)
fout<<v[i]<<" ";
return 0;
}