Pagini recente » Cod sursa (job #1192108) | Cod sursa (job #1719475) | Monitorul de evaluare | Cod sursa (job #2232976) | Cod sursa (job #304663)
Cod sursa(job #304663)
#include <stdio.h>
#include <stdlib.h>
void sort(int *a,int st,int dr)
{
int i=st,j=dr,m=a[(st+dr)>>1],tmp;
do
{
while (a[i]<m) i++;
while (a[j]>m) j--;
if (i<=j)
{
tmp=a[i];a[i]=a[j];a[j]=tmp;
i++;j--;
}
}
while (i<=j);
if (i<dr) sort (a,i,dr);
if (j>st) sort (a,st,j);
}
int main()
{
int n,i,x;
int *v;
FILE *fin,*fout;
fin=fopen("algsort.in","r");
fout=fopen("algsort.out","w");
fscanf(fin,"%d",&n);
v=(int *)malloc(sizeof(int)*n);
for (i=0;i<n;i++) fscanf(fin,"%d",&v[i]);
sort(v,0,n-1);
for (i=0;i<n;i++) fprintf(fout,"%d ",v[i]);
fclose(fin);
fclose(fout);
return 0;
}