Pagini recente » Cod sursa (job #2149909) | Cod sursa (job #3196247) | Cod sursa (job #1194841) | Cod sursa (job #536262) | Cod sursa (job #738628)
Cod sursa(job #738628)
#include<fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
void citire(int &n, int a[])
{
fin>>n;
for(int i=1;i<=n;i++)fin>>a[i];
}
void afisare(int n, int a[])
{
for(int i=1;i<=n;i++)fout<<a[i]<<" ";
}
void qSort(int vector[],int st,int dr)
{
int aux, min, max, mijl;
mijl = vector[st+(dr-st)/2];
min = st; max = dr;
do
{
while(vector[min] < mijl) min++;
while(vector[max] > mijl) max--;
if(min <= max)
{
aux = vector[min];
vector[min++] = vector[max];
vector[max--] = aux;
}
}while(min <= max);
if(st < max) qSort(vector,st,max);
if(dr > min) qSort(vector,min,dr);
}
int main()
{
int n,a[10000],i;
citire(n,a);
qSort(a,1,n);
afisare(n,a);
}