Cod sursa(job #1342880)

Utilizator breahnadavidBreahna David breahnadavid Data 14 februarie 2015 17:04:41
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<iostream>
#include<fstream>

using namespace std;

int mx,mn,i,j,n,m,t[500005],v1,v2;

ifstream f("algsort.in");
ofstream g("algsort.out");

int main()
{
f>>n;
for(i=1;i<=n;i++)f>>t[i];

i=1;
m=n;

while(i<m)
{
mx=mn=i;

for(j=i+1;j<=m;j++)
	{
	if(t[mx]<t[j])mx=j;
	if(t[mn]>t[j])mn=j;
	}
v1=t[i];
v2=t[m];
t[i]=t[mn];
t[m]=t[mx];
if(v1>v2)
	{
	if(mx>mn)t[mx]=v1,t[mn]=v2;
	else t[mn]=v1,t[mx]=v2;
	}
else
	{
	if(mx>mn)t[mx]=v2,t[mn]=v1;
	else t[mn]=v2,t[mx]=v1;
	}
i++;
m--;
}

for(i=1;i<=n;i++)g<<t[i]<<" ";

return 0;
}