Pagini recente » Cod sursa (job #3192057) | Cod sursa (job #3120909) | Cod sursa (job #1439664) | Cod sursa (job #1133251) | Cod sursa (job #611277)
Cod sursa(job #611277)
#include<iostream>
#include<fstream>
using namespace std;
fstream f("algsort.in",ios::in);
fstream g("algsort.out",ios::out);
//Metoda Quick Sort
void qSort(int *vector,int stanga,int dreapta)
{
int i,j,aux,mijloc;
i=stanga;
j=dreapta;
mijloc=vector[(stanga+dreapta)/2];
while (mijloc > vector[i])
i++;
while (mijloc < vector[j])
j--;
if (i<=j)
{
aux=vector[i];
vector[i]=vector[j];
vector[j]=aux;
i++;
j--;
}
if (stanga<j)
qSort(vector,stanga,j);
if (i<dreapta)
qSort(vector,i,dreapta);
}
void ordonare_crescatoare(int *vector,int n)
{
int st,dr;
st=0; dr=n-1;
qSort(vector,st,dr);
}
int main()
{
int n,vector[50000],i;
//Citirea sirului din fisier
f>>n;
for (i=0; i<n; i++)
f>>vector[i];
ordonare_crescatoare(vector,n);
//Scrierea sirului in fisier
for (i=0; i<n; i++)
g<<vector[i]<<" ";
f.close(); g.close();
return 0;
}