php有哪几种算法

  介绍

这篇文章主要介绍php有哪几种算法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

<强> php用学算法吗?

php需要学习基本的排序算法,因为算法是程序的核心,一个程序的好坏,关键就是这个程序算法的优劣,当然掌握基础算法主要也是为了锻炼逻辑思维。

<强> php的几种算法如下

& lt; ?//- - - - - - - - - - - - - - - - - - - - -//基本数据结构算法//- - - - - - - - - - - - - - - - - - - - -//二分查找(数组里查找某个元素)   函数bin_sch(数组,低位,美元美元高,$ k) {   如果(低& lt;美元=$高){   $=intval中中期((低+高美元)/2);   如果数组($(美元中期)==$ k) {   返回$中期;   }elseif ($ k & lt;$阵列(中期美元)){   返回bin_sch(数组,低位,美元mid-1美元,$ k);   其他}{   返回bin_sch(数组,中期+ 1美元,美元高,$ k);   }   }   返回1;   }//顺序查找(数组里查找某个元素)   函数seq_sch(数组,美元n, k美元){   美元array [n]美元=$ k;   ($ i=0;美元i<$ n;$我+ +){   如果数组($ $ i==$ k) {   打破;   }   }   如果(i<美元n) {   返回$ i;   其他}{   返回1;   }   }//线性表的删除(数组中实现)   函数delete_array_element(数组,我美元)   {   数组$ len=count ($);   美元($ j=我;j我美元;$ j () {   如果($ array [j]美元& lt;$阵列(j - 1美元)){   tmp=美元array [j]美元;   数组[j]美元=美元数组(j - 1美元);   数组(j - 1美元)=tmp美元;   }   }   }   返回数组美元;   }//快速排序(数组排序)   函数quick_sort(数组){   数组如果(count ($) & lt;=1)返回数组美元;   关键=array[0]美元;   数组$ left_arr=();   数组$ right_arr=();   (i=1美元;i<美元;count($数组);$我+ +){   如果(数组($ i) & lt;美元=$键)   美元left_arr[]=$数组($ i);   其他的   美元right_arr[]=$数组($ i);   }   (left_arr=quick_sort美元left_arr);   (right_arr=quick_sort美元right_arr);   返回array_merge ($ left_arr数组(键)美元right_arr美元);   }//- - - - - - - - - - - - - - - - - - - - - - - -//PHP内置字符串函数实现//- - - - - - - - - - - - - - - - - - - - - - - -//字符串长度   函数strlen (str)美元   {   if ($ str==& # 39; & # 39;)返回0;   $ count=0;   而(1){   如果(str美元(美元数)!=NULL) {   美元计数+ +;   继续;   其他}{   打破;   }   }   返回$计数;   }//截取子串   函数substr (str美元,美元开始,长度=NULL)   {   if ($ str==& # 39; & # 39;| | $ start> strlen (str)美元)返回;   如果(($长度!=NULL),,($ start> 0),,($ length>strlen (str)美元,美元开始)返回;   如果(($长度!=NULL),,($ start<0),,美元($ length> strlen (str) +开始美元))返回;   如果长度==NULL)美元(长度=(strlen (str)美元,美元开始);      如果美元开始& lt;0){   美元($ i=(strlen (str) +美元开始);美元美元i<(strlen (str) +开始+美元长度);$我+ +){   字符串的子串。=str美元($ i);   }   }   如果长度比美元;0){   (i=美元开始;i<美元;(开始+长度美元);$我+ +){   字符串的子串。=str美元($ i);   }   }   if ($ & lt长度;0){   (i=美元开始;美元美元i<(strlen (str) +美元长度);$我+ +){   字符串的子串。=str美元($ i);   }   }   返回字符串的子串美元;   }//字符串翻转   函数strrev (str)美元   {   if ($ str==& # 39; & # 39;)返回0;   美元($ i=(strlen (str) - 1);i>美元;=0;我——美元){   rev_str。=str美元($ i);   }   返回rev_str美元;   }//字符串比较   函数比较字符串(s1, s2美元)   {   如果(strlen (s1) & lt;strlen (s2)美元)返回1;   如果(strlen (s1)比;strlen (s2)美元)返回1;   ($ i=0;i<美元;strlen (s1);$我+ +){   如果(s1 ($ i)==s2美元($ i)) {   继续;   其他}{   返回错误;   }   }   返回0;   }//查找字符串   函数strstr (str, substr美元)   {   美元$ m=strlen (str);   (n=strlen美元substr);   if ($ m & lt;$ n)返回false;   ($ i=0;我& lt;美元=(m - n + 1美元);$我+ +){   子=美元substr (str,我美元$ n);   如果(strcmp(子,substr美元)==0)返回$ i;   }   返回错误;   }//字符串替换   函数str_replace(字符串的子串,newsubstr美元,美元str)   {   美元$ m=strlen (str);   (n=strlen美元substr);   $ x=strlen (newsubstr美元);   如果(strchr (str, substr美元)==false)返回false;   ($ i=0;$ i

php有哪几种算法