Php Data structure and algorithm (PHP description) search and binary search. Copy the code as follows :? Php *** lookup *** sequential lookup functionnormal_search ($ arrData, $ val) {$ lencount ($ arrData); if ($ len0) return-1; for ($ i0; $ I $ len; $ I ++
The code is as follows:
/**
* Search
*
**/
// Sequential search
Function normal_search ($ arrData, $ val ){
$ Len = count ($ arrData );
If ($ len = 0) return-1;
For ($ I = 0; $ I <$ len; $ I ++ ){
Echo "find No.", $ I + 1, "value =", $ arrData [$ I], "is =", $ val ,"?
";
// Found
If ($ arrData [$ I] ==$ val) return $ I;
}
Return-1;
}
// Test order search
$ ArrData = array );
Echo normal_search ($ arrData, 6 ),"
";
Echo normal_search ($ arrData, 66 ),"
";
// Binary search (search for ordered columns)
Function binary_search ($ arrData, $ val ){
$ Len = count ($ arrData );
If ($ len = 0) return-1;
$ Start = 0;
$ End = $ len-1;
While ($ start <= $ end ){
$ Middle = intval ($ start + $ end)/2 );
Echo "start =", $ start, "end =", $ end, "middle =", $ middle ,"
";
If ($ arrData [$ middle] ==$ val ){
Return $ middle;
} Elseif ($ arrData [$ middle]> $ val ){
$ End = $ middle-1;
} Elseif ($ arrData [$ middle] <$ val ){
$ Start = $ middle + 1;
}
}
Return-1;
}
// Test binary search
$ ArrData = array (56,100,104,578,100 );
Echo binary_search ($ arrData, 578 ),"
";
Echo binary_search ($ arrData, 66 ),"
";
The http://www.bkjia.com/PHPjc/325529.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/325529.htmlTechArticle code is as follows :? Php/*** search *** // query function normal_search in sequence ($ arrData, $ val) {$ len = count ($ arrData ); if ($ len = 0) return-1; for ($ I = 0; $ I $ len; $ I ++...