Cod sursa(job #626322)

Utilizator DanytzuBran Daniel Danytzu Data 26 octombrie 2011 20:40:56
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include <fstream>
#include <iostream>
using namespace std;
int n,arr[100];

void quickSort( int left, int right) {

	int i = left, j = right;

	int tmp;

	int pivot = arr[(left + right) / 2];

 

	/* partition */

	while (i <= j) {

	while (arr[i] < pivot)

			i++;

            while (arr[j] > pivot)

                  j--;

            if (i <= j) {

                  tmp = arr[i];

                  arr[i] = arr[j];

                  arr[j] = tmp;

                  i++;

                  j--;

            }

      };

 

      /* recursion */

      if (left < j)

            quickSort( left, j);

      if (i < right)

		quickSort( i, right);

}


int main()
{
ifstream fin("algsort.in");

fin>>n;

for (int i=0;i<n;i++)
{
	fin>>arr[i];
}
fin.close();
quickSort(0,n);

ofstream fout("algsort.out");

for(int i=1;i<=n;i++){
fout<<arr[i];
}

fout.close();


return 0;
}