Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Sortowanie
poniedzialek
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 11.01.2006

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


Witam
bylbym bardzo wdzięczny gdyby mi ktos podpowiedzial jak napisac w php cos podobnego jak ponizej czyli chodzi mi o sortowanie bąbelkowe losowo wypelnionej tablicy

  1. void BubbleSort(long* tab, long n)
  2. {
  3.      long porownan=0,przestawien=0;
  4.      long i,stop;
  5.      long pom;
  6.      long ostzam;
  7.  
  8.      for(stop=n-1;porownan++,stop>0;stop=ostzam)
  9.      {
  10.            ostzam=0;
  11.            for(i=0;porownan++,i<stop;i++)
  12.            {
  13.                  if (porownan++,tab[i]>tab[i+1])
  14.                  {
  15.                        ostzam=i;
  16.                        przestawien++;
  17.                        pom=tab[i];
  18.                        tab[i]=tab[i+1];
  19.                        tab[i+1]=pom;
  20.                  }
  21.            }
  22.      }
  23.      cout<<"BubbleSort.Por.="<<porownan<<"; Przest.="<<przestawien<<endl;
  24. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
poniedzialek
post
Post #2





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 11.01.2006

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


eksperymentowalem w ten sposob
pierwsza czesc czyli losowanie wypelnienie i wyswietlenie tablicy dziala ok
druga niestety zupelnie nie dziala
wyswietla mi ponownie ta sama nieposortowana tablice
gdzie tkwi blad (bledy)(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
  1. <?php
  2. define ("licz",NULL);
  3. define ("pomieszane",NULL);
  4.  
  5. function losowanie( $min, $max, $licz ) 
  6. {
  7. $tablica = array();
  8. while( count( $tablica ) < $licz )
  9. {
  10. $los = rand( $min, $max );
  11. $tablica[] = $los;  
  12. }
  13. return $tablica;
  14. }
  15.  
  16.  
  17. $pomieszane = losowanie( 1, 10, 25 );
  18. echo "<b>Wylosowany ciąg</b><br>";
  19. print_r( $pomieszane );
  20.  
  21.  
  22. $index1=0;
  23. $index2=1;
  24.  
  25. for( $i=l; $i<$licz; $i++)
  26. {
  27. for ($j=l;$j<$licz-$i; $j++)
  28. {
  29. if ($pomieszane[$index1]<$pomieszane[$index2]) 
  30. {
  31. $pomoc=$pomieszane[$index1];
  32. $pomieszane[$index1]=$pomieszane[$index2];
  33. $pomieszane[$index2]=$pomoc;
  34. }
  35. $index1++;
  36. $index2++;
  37. }
  38. }
  39.  
  40.  
  41. echo "<br><br><b>Ciąg po posortowaniu</b><br>";
  42. print_r( $pomieszane );
  43.  
  44.  
  45. ?>


Ten post edytował poniedzialek 18.10.2006, 15:27:02
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: 20.09.2025 - 23:48