广

PHP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    基本数据结构和php内置函数实现

    2018-04-03 21:31:08 次阅读 稿源:互联网
    零七广告
    二分查找函数

    //二分查找(数组里查找某个元素)
    function bin_sch($array, $low, $high, $k){
    if ($low <= $high){
    $mid = intval(($low+$high)/2);
    if ($array[$mid] == $k){
    return $mid;
    }elseif ($k < $array[$mid]){
    return bin_sch($array, $low, $mid-1, $k);
    }else{
    return bin_sch($array, $mid+1, $high, $k);
    }
    }
    return -1;
    }

    顺序查找函数的实现

    //顺序查找(数组里查找某个元素)
    function seq_sch($array, $n, $k){
    $array[$n] = $k;
    for($i=0; $i<$n; $i++){
    if($array[$i]==$k){
    break;
    }
    }
    if ($i<$n){
    return $i;
    }else{
    return -1;
    }
    }
    线性表的删除函数的实现

    //线性表的删除(数组中实现)
    function delete_array_element($array, $i)
    {
    $len = count($array);
    for ($j=$i; $j<$len; $j++){
    $array[$j] = $array[$j+1];
    }
    array_pop($array);
    return $array;
    }
    冒泡排序函数的实现:

    //冒泡排序(数组排序)
    function bubble_sort($array)
    {
    $count = count($array);
    if ($count <= 0) return false;

    for($i=0; $i<$count; $i++){
    for($j=$count-1; $j>$i; $j--){
    if ($array[$j] < $array[$j-1]){
    $tmp = $array[$j];
    $array[$j] = $array[$j-1];
    $array[$j-1] = $tmp;
    }
    }
    }
    return $array;
    }
    快速排序函数实现

    //快速排序(数组排序)
    function quicksort($array) {
    if (count($array) <= 1) return $array;

    $key = $array[0];
    $left_arr = array();
    $right_arr = array();

    for ($i=1; $i<count($array); $i++){
    if ($array[$i] <= $key)
    $left_arr[] = $array[$i];
    else
    $right_arr[] = $array[$i];
    }

    $left_arr = quicksort($left_arr);
    $right_arr = quicksort($right_arr);

    return array_merge($left_arr, array($key), $right_arr);
    }

    PHP内置字符串函数实现

    //------------------------
    // PHP内置字符串函数实现
    //------------------------

    //字符串长度
    function strlen($str)
    {
    if ($str == '') return 0;

    $count = 0;
    while (1){
    if ($str[$count] != NULL){
    $count++;
    continue;
    }else{
    break;
    }
    }
    return $count;
    }

    //截取子串函数实现


    function substr($str, $start, $length=NULL)
    {
    if ($str=='' || $start>strlen($str)) return;
    if (($length!=NULL) && ($start>0) && ($length>strlen($str)-$start)) return;
    if (($length!=NULL) && ($start<0) && ($length>strlen($str)+$start)) return;

    if ($length == NULL) $length = (strlen($str) - $start);
    if ($start < 0){
    for ($i=(strlen($str)+$start); $i<(strlen($str)+$start+$length); $i++) {
    $substr .= $str[$i];
    }
    }

    if ($length > 0){
    for ($i=$start; $i<($start+$length); $i++) {

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告