Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] sortowanie bąbelkowe
Forum PHP.pl > Forum > PHP
harryk
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.
tiraeth
Czary mary: sort" title="Zobacz w manualu php" target="_manual()

Po co pisać sortowanie bąbelkowe w php? Sztuką nie jest napisanie funkcji - sztuką jest umiejętne wykorzystanie tych, które zostały już napisane.
harryk
Tak tak, ale chodzi o to, żebym napisał to sam. A wiadoma sprawa, że lepiej użyć sort, ale nie to było zamysłem stworzenia tego tematu, a poprostu to, czy to co napisałem spełnia taką rolę jak powinno.

A ogólnie to będę miał to na sprawdzianie z informatyki napisać w C++, a że nie mam pod ręką żadnego kompilatora to napisałem w php, bo właściwie wielkiej różnicy tu nie będzie.
TomASS
Cytat
właściwie wielkiej różnicy tu nie będzie.


Chociażby to, że w C musisz określić typ, musisz określić jakiego typu są przekazywane parametry tongue.gif Jeśli masz pod ręką książkę "Wykłady z informatyki z przykładami w C" to bodajże tam jest to świetnie napisane.
bela
Cytat(TomASS @ 2005-10-05 22:01:09)
Cytat

właściwie wielkiej różnicy tu nie będzie.


Chociażby to, że w C musisz określić typ, musisz określić jakiego typu są przekazywane parametry tongue.gif Jeśli masz pod ręką książkę "Wykłady z informatyki z przykładami w C" to bodajże tam jest to świetnie napisane.

W C++ są akurat szablony, które upraszczają sprawę winksmiley.jpg
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.