Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] sortowanie bąbelkowe
harryk
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 20.04.2005

Ostrzeżenie: (0%)
-----


Witam.

Jak na mój rozum stworzyłem 2 podobne, aczkolwiek inne wersje sortowania bąbelkowego. Jedno, oparte na for'ach, drugie na do..while.

Mam dylemat nad tym, czy aby nie pomyliłem się i to co napisałem napewno jest tym właśnie sortowaniem, czy też nie.

Oto kod pierwszego, z wykorzystaniem pętli for:

  1. <?php
  2. // 10 losowych liczb z zakresu 1-50
  3. for( $i = 0; $i < 10; $i++ )
  4. {
  5.  $liczby[$i] = rand( 1, 50 );
  6. }
  7.  
  8. $elementow = count( $liczby );
  9.  
  10. for( $i = 0; $i < $elementow; $i++ )
  11. {
  12.  for( $j = 0; $j < $elementow; $j++ )
  13.  {
  14.  if( $liczby[$j] < $liczby[$j+1] )
  15.  {
  16.  $tmp = $liczby[$j];
  17.  $liczby[$j] = $liczby[$j+1];
  18.  $liczby[$j+1] = $tmp;
  19.  }
  20. }
  21. }
  22.  
  23. // tablica $liczby jest posortowana od największej do najmniejszej
  24. ?>


A teraz z do..while:

  1. <?php
  2. // 10 losowych liczb z zakresu 1-50
  3. for( $i = 0; $i < 10; $i++ )
  4. {
  5.  $liczby[$i] = rand( 1, 50 );
  6. }
  7.  
  8. $elementow = count( $liczby );
  9.  
  10. $i = 0;
  11.  
  12. do
  13. {
  14.  $k = 0;
  15.  
  16.  do
  17.  {
  18. if( $liczby[$i] < $liczby[$i+1] )
  19. {
  20.  $tmp = $liczby[$i+1];
  21.  $liczby[$i+1] = $liczby[$i];
  22.  $liczby[$i] = $tmp;
  23.  
  24.  $k++;
  25. }
  26.  
  27. $i++;
  28.  }
  29.  while( $i < $elementow );
  30.  
  31.  $i = 0;
  32.  
  33. }
  34. while( $k != 0 );
  35.  
  36. // tablica $liczby jest posortowana od największego do najmniejszego
  37. ?>


Dzięki i pozdrawiam.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 00:18