Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
dvprog_19 [2020-04-02 14:03]
Daniel Viström created
dvprog_19 [2020-04-02 14:13]
Daniel Viström
Line 1: Line 1:
 +====== Lösningsförslag till uppgift 4 (Bubblesort) ======
 +
 <php> <php>
 /* /*
-Tutorial:\\ + 
-[[http://www.youtube.com/watch?v=QIkDnUoeS70|While]]\\+Filen **bubblesort.php** \\ 
 +Jag väljer att lägga min sorteringsfunktion i en separat fil så att jag kan inkludera den i olika program utan att huvudprogrammet behöver komma med då. 
 +<code php> 
 +<?php 
 +// Måste vara referensparameter (&) för att ändringar i funktionen också 
 +// ska gälla i huvudprogrammet. 
 +function my_bubblesort(&$a){ 
 + 
 +    // Det behövs ett varv mindre än vad det är tal i arrayen. 
 +    // T.ex. om det är 9 tal i arrayen och det största talet står sist 
 +    // så behövs det 8 varv för att vara säker på att arrayen blir sorterad. 
 +    // Om det sista talet är störst "bubblar" det ett steg mot starten av 
 +    // arrayen för varje varv i den yttre loopen. 
 +    $i 0; 
 +    while ($i < count($a) - 1){ 
 + 
 +        // Loopar bara till näst sista elementet så att inte $a[$j+1] 
 +        // hamnar utanför arrayen. 
 +        $j = 0; 
 +        while ($j < count($a) - 1){ 
 +            if ($a[$j< $a[$j+1]){ 
 +                $temp = $a[$j];     // Byter plats via en temporär variabel. 
 +                $a[$j] = $a[$j+1]; 
 +                $a[$j+1] = $temp; 
 +            } 
 +            $j++; 
 +        } 
 +        $i++; 
 +    } 
 +
 +</code> 
 + 
 +\\ 
 +**Huvudprogrammet** 
 +<code php> 
 +<?php 
 +include 'bubblesort.php'; 
 +include 'head.php'; 
 + 
 +$arr = [5,9,4,7,2,12,7,12,15]; 
 +my_bubblesort($arr); 
 +$i = 0; 
 +while($i < count($arr)){ 
 +    echo $arr[$i] . ' '; 
 +    $i++; 
 +
 +echo '<br>'; 
 + 
 +include 'foot.php'; 
 +</code> 
 + 
 */ */
 </php> </php>