Cod sursa(job #573267)

Utilizator Alexxino7Alexandru Popescu Alexxino7 Data 6 aprilie 2011 09:13:15
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include<fstream>
using namespace std;
#define DIM 500000
int arr[DIM];
void quickSort(int arr[], int left, int right) {
      int i = left, j = right;
      int tmp;
      int pivot = arr[(left + right) / 2];
      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--;
            }
      };
      if (left < j)
            quickSort(arr, left, j);
      if (i < right)
            quickSort(arr, i, right);
}

int main(){
	ifstream fin ("algsort.in");
	ofstream fout ("algsort.out");
	int i,N;
	fin>>N;
	for(i=1;i<=N;i++)
		fin>>arr[i];
	quickSort(arr, 1, N);
	for(i=1;i<=N;i++)
		fout<<arr[i]<<" ";
	fout<<"\n";
	fout.close();
	fin.close();
	return 0;
}