Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Быстрая сортировка

Сообщения:  [1-3] 

 
 автор: kilogram   (29.04.2012 в 02:24)   письмо автору
 
   для: kilogram   (28.04.2012 в 21:59)
 

Я так понял интерпретатор языка ПХП когда видит название переменной, а за ней скобки, подставляет значение этой переменной в название этой переменной со скобками,если значение этой переменной совпало с названием такой функции описаной где-то в коде.

  Ответить  
 
 автор: kilogram   (28.04.2012 в 21:59)   письмо автору
 
   для: kilogram   (28.04.2012 в 15:10)
 

Попробовал написать такой код, который вычисляет квдадрат числа.


function santa($n)
{
   return $n*$n;
}

function balta($n)
{
   return $n(5);
}

echo balta("santa");
echo '<br />';

Как-то странно так получилось, ради интереса написал santa в параметре функции и ошибок не выдало.
Это что, получается я передал всю функцию санта в функции балта?
В пхп разве если при вызове писать что-то в кавычках и оно совпадет с названием функции ранее где-то описаной в коде выше то передастся не строка ,а сама функция в качестве аргумента?

  Ответить  
 
 автор: kilogram   (28.04.2012 в 15:10)   письмо автору
 
 

<?php 
$mas 
= array(5,3,-1,4,2,-300,6,-500,-100);
function 
sos($a1,$a2)
{
    return 
$a2 $a1;
}
function 
dobavka(&$mas$func){
   
sortirovka($mas0count($mas)-1$func);
}

function 
sortirovka(&$mas,$min,$max,$func){
$i $min;
$j $max;
$x $mas[($min+$max)/2];

do{
    while(
$func($mas[$i], $x)<0) ++$i;
    while(
$func($mas[$j], $x)>0) --$j;
    if(
$i<=$j){
         
$element $mas[$i];
         
$mas[$i] = $mas[$j];
         
$mas[$j] = $element;    
         
$i++; $j--;
}   
}while(
$i<=$j);

if(
$min<$jsortirovka($mas,$min,$j$func); //начало с серединой 
if($i<$maxsortirovka($mas,$i,$max$func); // середина с концом
}

dobavka($mas'sos');
foreach(
$mas as $rez)
echo 
$rez.' '.' ';

?>


Смущает, как в переменную $func можно добавить круглые скобки и записать выражение?
while($func($mas[$i], $x)<0) ++$i;
    while($func($mas[$j], $x)>0) --$j;

Что это означает? С функцией понимаю ,а вот с переменной, как она со скобками и внутри выражение?

  Ответить  

Сообщения:  [1-3] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования