//Autor: Artur Czekalski (Sator) www.epokaY.net/artur artur@epokaY.net #include "stdafx.h" #include //GetTickCount() const int RozTab = 20000000; //rozmiar tablicy int Tab[RozTab]; //tablica do posortowania //--------------------------------------------------------------------------- int x; //wartość sortowana int w; //element do zamiany (takiego samego typu co Tab) //--------------------------------------------------------------------------- void QuickSort(const int l, const int p) //tylko dwa konieczne parametry, bo funkcja jest rekurencyjna { int i = l, j = p; x = Tab[(l+p)/2]; //kryterium sortowania do {while (Tab[i] < x) ++i; //x -malejąco while (x < Tab[j]) --j; //x< -rosnąco; x< -malejąco if (i <= j) {w=Tab[i]; Tab[i]=Tab[j]; Tab[j]=w; ++i; --j; } } while (i < j); if (l < j) QuickSort(l, j); if (i < p) QuickSort(i, p); } //=========================================================================== int main(int, char* []) { int i, czas; for (i=0; i Tab[i]) {printf("Nie posortowane od elementu nr %d\n", i); break;} //--- printf("\nVisual C++ 6.0: Czas=%d", czas); getchar(); return 0; }