Pagini recente » Rating Ana Roxana Pop (rala03) | Cod sursa (job #549461) | Cod sursa (job #95729) | Cod sursa (job #1653602) | Cod sursa (job #2282153)
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int w[100000],v[100000],n;
void divid(int st,int dr){
if(st<dr){
int mid=(st+dr)/2;
divid(st,mid);
divid(mid+1,dr);
int i = st;
int j = mid+1;
int k = st - 1;
while (i<=mid && j<=dr) {
if (v[i] < v[j])
w[++k] = v[i++];
else
w[++k] = v[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];
}
}
int main(){
fin>>n;
for(int i=1;i<=n;i++){
fin>>v[i];
}
divid(1,n);
for(int i=1;i<=n;i++){
fout<<v[i]<<" ";
}
}