Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Problem z funkcją szybkiego sortowania - quicksort

Ostatnio zmodyfikowano 2017-03-21 00:06
Autor Wiadomość
labamba63
Temat założony przez niniejszego użytkownika
[C++] Problem z funkcją szybkiego sortowania - quicksort
» 2017-03-18 23:15:11
Cześć, czy mógłbym prosić was o wskazanie błędu w funkcji quicksort, którą mam zadeklarowaną w poniższy sposób w programie, czegoś mi tam brakuje chyba bo niestety nie sortuje :(
Będę bardzo wdzięczny za pomoc :)

C/C++
void quicksort( int * tab, int d, int g )
{
    if( d < g )
    {
        int t, s;
        t = tab[ d ];
        s = d;
       
        for( int i = d; i <= g; i++ )
        {
            if( tab[ i ] < t )
            {
                s = s + 1;
                switch( tab[ s ], tab[ i ] );
            }
        }
        switch( tab[ d ], tab[ s ] );
        quicksort( tab, d, s - 1 );
        quicksort( tab, s + 1, g );
    }
}

tak funkcję wywołuję w programie:
C/C++
int main()
{
    int n = 1024;
    int * tablica;
    tablica = new int[ n ];
    srand( time( 0 ) );
    for( int i = 0; i < n; ++i )
    {
        tablica[ i ] = rand() % 1024;
    }
    quicksort( tablica, 0, n - 1 );
   
    //Sprawdzenie dla pierwszych 5 wartosci z tablicy czy sa posortowane
    for( int j = 0; j < 5; j++ )
    {
        cout << "tablica[" << j << "] = " << tablica[ j ] << endl;
    }
    return 0;
}
P-159136
michal11
» 2017-03-19 17:11:50
switch to nie swap

Frazy, które należy wpisać w wyszukiwarkę google:
P-159161
labamba63
Temat założony przez niniejszego użytkownika
» 2017-03-21 00:06:32
Rzeczywiście taki błąd się wkradł... Dziękuję bardzo, już wszystko się zgadza.
Pozdrawiam
P-159192
« 1 »
  Strona 1 z 1