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-06 11:30]
Daniel Viström
Line 1: Line 1:
 +====== Lösningsförslag till uppgift 4 (Bubblesort) ======
 +
 +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>
 /* /*
-Tutorial:\\ +
-[[http://www.youtube.com/watch?v=QIkDnUoeS70|While]]\\+
 */ */
 </php> </php>