1結果:<?php2 //
順序查詢
3$a=array(1,6,3,2,2,5,3);
4function search($a,$findval
) 12}
13if (!$flag
) 16
}17 search($a,300);
18//
二分查詢法 前提是必須是有序陣列
19//思路:
20//1.用中間數與findval對比
21//2.如果要查詢的數比中間數小,則在左邊查詢
22//3.反之,在右邊查詢
23//4.不大於或小於左邊,則剛好是中間數
24function binarysearch($arr,$findval,$leftindex,$rightindex)29
$middleindex=round(($leftindex+$rightindex)/2);
30if ($findval
]) else
if ($findval>$arr[$middleindex
]) else37}
38$arr1=array(6,44,66,69,77,99);
39//
$arr=array(1,23,53,412);
40 binarysearch($arr1,99,0,count($arr1)-1);
41 ?>
氣泡排序法和二分法排序
使用氣泡排序法對陣列進行排序的原理 陣列元素兩兩比較大小 function func arr print r arr arr array 0,11,2,3,24,5,16,7,48,9 func arr 使用快速排序法對陣列進行排序的原理 陣列元素進行樹狀分支,分結點比較大小,然後採用遞迴函式遞迴處...
二分法和氣泡排序
先放乙個 可以看到冒泡,選擇,插入排序的過程 冒泡 選擇 插入排序 前言 二分法是乙個優化演算法,在乙個基於有序列表中,列表從1到10000,如果要找乙個8899的數字,不用二分法的話,就是迴圈從一到10000,直到找到8899.但是,有沒有想過,前5000個都比8899小,所以能不能直接第一次就判...
二分法排序C
首先說一下二分法排序的原理,演算法思想簡單描述 在插入第i個元素時,對前面的0 i 1元素進行折半,先跟他們 中間的那個元素比,如果小,則對前半再進行折半,否則對後半 進行折半,直到left right,然後再把第i個元素前1位與目標位置之間 的所有元素後移,再把第i個元素放在目標位置上。二分法排序...