Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyjaśnienie kodu - sortowanie liczb w tablicy
Forum PHP.pl > Forum > Przedszkole
victor_19
Byłbym wdzięczny za wyjaśnienie kodu jak działa...

  1. $tablica[0]=7;
  2. $tablica[1]=3;
  3. $tablica[2]=1;
  4.  
  5. for ($i=0;$i<=3;$i++)
  6. {
  7. for ($j=0;$j<=3;$j++)
  8. {
  9. if ($tablica[$j]>$tablica[$j+1])
  10. {
  11. $tmp = $tablica[$j];
  12. $tablica[$j] = $tablica[$j+1];
  13. $tablica[$j+1] = $tmp;
  14. }
  15. }
  16.  
  17. for ($i=0; $i<=3; $i++)
  18. {
  19. echo $tablica[$i];
  20. echo "<br />";
  21. }
  22.  
thek
Nie jestem jasnowidzem, ale chyba ktoś próbował robić sortowanie bąbelkowe... Na dodatek z błędami. Weź lepiej poszukaj na necie działających przykładów, bo ten to tylko sypie błędami winksmiley.jpg Wersja poprawiona, która robi najmniej zmian w kodzie oryginalnym i działa to:
  1. $tablica[0]=7;
  2. $tablica[1]=3;
  3. $tablica[2]=1;
  4.  
  5. for ($i=0;$i<3;$i++)
  6. {
  7. for ($j=0;$j<3;$j++)
  8. {
  9. if ($tablica[$j]>$tablica[$i])
  10. {
  11. $tmp = $tablica[$i];
  12. $tablica[$i] = $tablica[$j];
  13. $tablica[$j] = $tmp;
  14. }
  15. }
  16. }
  17. for ($i=0; $i<3; $i++)
  18. {
  19. echo $tablica[$i];
  20. echo "<br />";
  21. }
Oczywiście to tylko poprawki by jak najmniej zmian było i nie sypało błędami, bo do wydajnego bąbelkowego to jeszcze nieco brakuje. W zasadzie trudno tu mówić o wydajności, bo bąbelkowe jest mało wydajnym czasowo algorytmem, ale za to oszczędza zasoby pamięci. Coś za coś.

Aha... temat zamykam, bo zrobileś crossa do http://forum.php.pl/index.php?showtopic=165942
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.