[C] Sortowanie przez wstawianie

Awatar użytkownika
fryxjer
Użytkownik
Użytkownik
Posty: 226
Rejestracja: 27 lis 2006, o 22:02
Płeć: Mężczyzna
Lokalizacja: Raciborz
Podziękował: 62 razy
Pomógł: 23 razy

[C] Sortowanie przez wstawianie

Post autor: fryxjer »

Mam taki kod:

Kod: Zaznacz cały

void InsertSort(int *X, int n)
{
     int temp, i,j;
     for(i=1;i<n;i++){
     temp = *(X+i);
     j=i-1;
     while((temp < *(X+j)) && (j>0)){
                       *(X+j+1)=*(X+j);
                       j=j-1;
                       }    
     *(X+j) = temp;
     }
}
Ale nie sortuje tak jak powinien, nie wiem jak ten problem rozwiązać, bo imho algorytm jest dobry.
adambak
Użytkownik
Użytkownik
Posty: 1272
Rejestracja: 8 sty 2011, o 18:18
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 295 razy
Pomógł: 115 razy

[C] Sortowanie przez wstawianie

Post autor: adambak »

a imho nie..

Kod: Zaznacz cały

void InsertSort(int *X, int n)
{
     int temp, i,j;
     for(i=1;i<n;i++){
     temp = *(X+i);
     j=i-1;
     while((temp < *(X+j)) && (j>=0)){
                       *(X+j+1)=*(X+j);
                       j=j-1;
                       }
     *(X+j+1) = temp;
     }
}
teraz jest dobrze, tłumaczyć czemu?
brzydkie to rzutowanie, po co skoro istnieje operator [ ]..
Awatar użytkownika
fryxjer
Użytkownik
Użytkownik
Posty: 226
Rejestracja: 27 lis 2006, o 22:02
Płeć: Mężczyzna
Lokalizacja: Raciborz
Podziękował: 62 razy
Pomógł: 23 razy

[C] Sortowanie przez wstawianie

Post autor: fryxjer »

Dzięki, nie tłumacz, nie dopatrzyłem.
ODPOWIEDZ