Cod sursa(job #354811)

Utilizator alexandru92alexandru alexandru92 Data 9 octombrie 2009 17:15:33
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
using namespace std;
int N, *v;
void swap(int *a, int *b)
{
  int t=*a; *a=*b; *b=t;
}
void quickSort(int arr[], int beg, int end)
{
  if (end > beg + 1)
  {
    int piv = arr[beg], l = beg + 1, r = end;
    while (l < r)
    {
      if (arr[l] <= piv)
        l++;
      else
        swap(&arr[l], &arr[--r]);
    }
    swap(&arr[--l], &arr[beg]);
    quickSort(arr, beg, l);
    quickSort(arr, r, end);
  }
}
  int main()
  {
	  ifstream in("algsort.in");
	  in>>N;
	  v=new int[N];
	  for( int i=0; i < N; ++i ) in>>v[i];
	  quickSort( v, 0, N );
	  ofstream out("algsort.out");
	  for( int i=0; i < N; ++i ) out<<v[i]<<' ';
	  delete[] v;
	  return 0;
	 }