一.//折半查找法(二分法): 使用前提必需是有序的数组。
//如果是从小到大的数组
function halfSearch($arr, $target)
{
    //定义三个变量 分别记录最小、最大、中间元素的索引值
    $min = 0;
    $max = count($arr) - 1;
    $mid = floor(($min + $max) / 2);
    while (true) {
        if ($target > $arr[$mid]) {//如果目标值大于中间值,目标值应该在中间值右边
            $min = $mid + 1;
        } elseif ($target < $arr[$mid]) {//如果目标值小于中间值,目标值应该在中间值左边
            $max = $mid - 1;
        } else {//如果中间值等于目标值 那么中间值的索引即为要查找的目标元素的索引
            return $mid;
        }
        //如果max或者min 发生变化后出现下面这种情况 说明目标值不在该数组范围内
        if ($max < $min) {
            return -1;
        }
        $mid = floor(($min + $max) / 2);
    }
}
二.
function fn1() {
              //发送异步请求
              //1.创建ajax引擎对象----所有操作都是由ajax引擎完成
              var xmlHttp = new XMLHttpRequest();
              //2.为引擎对象绑定监听事件
              xmlHttp.onreadystatechange = function() {
                     //当状态变化时处理的事情
                     if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                            //5.接收响应信息
                            var data = xmlHttp.responseText;
                            //alert(data);
                            document.getElementById("span1").innerHTML=data;
                     }
              }
              //3.绑定服务器地址
              //第一个参数:请求方式GET/POST
              //第二个参数:后台服务器地址
              //第三个参数:是否是异步 true--异步   false--同步
              xmlHttp.open("GET", "${pageContext.request.contextPath}/ajaxServlet?username=zhangsan",
                            true);            
        //4.发送请求
              xmlHttp.send();
       }
三.冒泡排序
算法说明:冒泡排序大概的意思是依次比较相邻的两个数,然后根据大小做出排序,直至最后两位数。由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。但其实在实际过程中也可以根据自己需要反过来用,大树往前放,小数往后放。
示例:从小到大
说明:从大到小的话,就把if判断那里的大于号改为小于号
<?php
// 定义一个随机的数组
$a = array(23,15,43,25,54,2,6,82,11,5,21,32,65);
// 第一层可以理解为从数组中键为0开始循环到最后一个
for ($i = 0; $i < count($a) ; $i++) {
  // 第二层为从$i+1的地方循环到数组最后
    for ($j = $i+1; $j < count($a); $j++) {
     // 比较数组中两个相邻值的大小
        if ($a[$i] > $a[$j]) {
            $tem = $a[$i]; // 这里临时变量,存贮$i的值
            $a[$i] = $a[$j]; // 第一次更换位置
            $a[$j] = $tem; // 完成位置互换
        }
    }        
}
echo '<pre>';
var_dump($a);
echo '</pre>';
 
 
                    
                     
                    
                 
                    
                 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号