void quicksort( double* a, int prvni, int posledni ) { double pivot = a[posledni - 1 ]; int leva = prvni; int prava = posledni - 2; while(leva < prava){ while(a[leva] < pivot && leva < prava){ leva++; } while(a[prava] > pivot && leva < prava){ prava--; } if(leva != prava){ double b = a[leva]; a[leva] = a[prava]; a[prava] = b; } } if( a[ leva ] > pivot ) { double c = a[leva]; a[leva] = a[posledni - 1]; a[posledni - 1] = c; quicksort(a, prvni, leva); quicksort(a, leva + 1, posledni); } else quicksort(a, prvni, posledni - 1 ); } int cifra( int cislo, int pozice ){ ... } void radixsort( int* a, int N, int R, int delkaZapisu ) { int* aux = new int[ N ]; for (int p=0; p=0; z--) { soucet -= zarazky[ z ] zarazky[z] = soucet; } for (int i=0; i=0; --i) { zaradDoHaldy(a, i, konec); } for (int j=N-1; j<0; --j) { prohod(a[0], a[j]); zaradDoHaldy(a, 0, j-1); } }