Differences

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

Link to this comparison view

Next revision
Previous revision
dvprog_19 [2020-04-02 14:03]
Daniel Viström created
dvprog_19 [2024-04-12 13:45] (current)
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:\\ +<code php> 
-[[http://www.youtube.com/watch?v=QIkDnUoeS70|While]]\\+<?php 
 + 
 +function my_bubblesort(&$a){ 
 +    $i = 0; 
 +    while ($i < count($a) - 1){ 
 + 
 +        $j = 0; 
 +        while (            ){ 
 +            if (            ){ 
 +                
 +                
 +            } 
 +            $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>
 +