一.//折半查找法(二分法): 使用前提必需是有序的数组。
//如果是从小到大的数组
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号