Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] sortowanie bąbelkowe
harryk
post 5.10.2005, 19:27:13
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
tiraeth
post 5.10.2005, 19:29:50
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


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.
Go to the top of the page
+Quote Post
harryk
post 5.10.2005, 19:37:47
Post #3





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

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


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.

Ten post edytował harryk 5.10.2005, 19:39:58
Go to the top of the page
+Quote Post
TomASS
post 5.10.2005, 21:01:09
Post #4





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


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.


--------------------
Go to the top of the page
+Quote Post
bela
post 5.10.2005, 21:16:33
Post #5


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


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


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 15.05.2025 - 07:17