< Programozási tételek
Programozási tételek megvalósítása PHP-ban
Általános tételek
Összegzés
<?php
$tomb = array(8, 2, 5, 3, 7);
$osszeg = 0;
for($i=0; $i<5; $i++)
$osszeg = $osszeg + $tomb[$i];
print("Összeg: ". $osszeg);
?>
Megszámolás
<?php
// 5-nél nagyobb számok megszámolása
$tomb = array(8, 2, 5, 3, 7);
$szamlalo = 0;
for($i=0; $i<5; $i++)
if($tomb[$i] > 5)
$szamlalo++;
print("Darab: ". $szamlalo);
?>
Keresés
$tomb = array(8, 3, 5, 6, 7);
$n = 5; // Az n a tömb elemeinek a száma
$keresett = 6;
$i = 0;
while ( $i<= $n-1 && $tomb[$i] != $keresett)
$i++;
if ($i < $n)
{
print "Van ilyen<br>";
print "Indexe: $i";
}
else
print "A keresett érték nem található";
Rendezés tételek
Buborékrendezés
$tomb = array(8, 3, 5, 6, 7);
$n = 5; // Az n a tömb elemeinek a száma
print_r($tomb); print "<br>";
for ($i = $n - 2; $i >= 0; $i--)
for ($j = 0; $j <= $i; $j++)
if ($tomb[$j] > $tomb[$j+1])
{
$swap = $tomb[$j + 1];
$tomb[$j + 1] = $tomb[$j];
$tomb[$j] = $swap;
}
print_r($tomb);
Shell-rendezés
$h = array(7, 3, 1);
$tomb = array(8, 9, 3, 2, 5, 7, 4, 1, 6);
$n = 9;
foreach($tomb as $elem)
print $elem . " ";
for($k = 0; $k <= 2; $k++)
{
$lepes = $h[$k];
for($j = $lepes; $j < $n; $j++)
{
$i = $j - $lepes;
$x = $tomb[$j];
while($i >= 0 && $tomb[$i] > $x)
{
$tomb[$i + $lepes] = $tomb[$i];
$i = $i - $lepes;
}
$tomb[$i + $lepes] = $x;
}
}
print"<br>";
foreach($tomb as $elem)
print $elem . " ";
Műveletek rendezett tömbökben
Bináris keresés
<?php
print "Binaris kereses";
$tomb = array(3,4,8,10,15,20,24,30);
$elso = 0;
$utolso = count($tomb);
$keresett = 16;
$van = 0;
while( $elso <= $utolso && $van == 0)
{
$kozepso = floor(($elso + $utolso) / 2);
if ( $keresett == $tomb[$kozepso] )
{
$van = 1;
$index = $kozepso;
}
else
if ($keresett < $tomb[$kozepso])
$utolso = $kozepso - 1;
else
$elso = $kozepso + 1;
}
if ($van)
{
print "<br>Van ilyen";
print "<br>Indexe: $index";
}
else
print "<br>Nincs ilyen";
?>