php 基本資料結構 和 演算法

2021-06-08 20:25:45 字數 2525 閱讀 3727

以下的格式不好看,或者到空間的**裡面看吧,那裡的格式規範些。希望對有需要的同學有點幫助吧 :)

// 基本資料結構

//--------------------

//二分查詢(有序陣列裡查詢某個元素)

//$low為待查詢的陣列中的最小值,$high為陣列中的最大值,$k為要查詢的關鍵字

function bin_sch($array, $low, $high, $k)elseif ($k < $array[$mid])else 

} return -1; 

} //順序查詢(陣列裡查詢某個元素)

//$n為待查詢的陣列元素的個數,$k為待查詢的元素

function seq_sch($array, $n, $k) 

} if ($i<$n)else 

} //線性表的刪除(陣列中實現)

function delete_array_element($array, $i)

array_pop($array);

return $array;

}//氣泡排序(陣列排序)

function bubble_sort($array)}}

return $array;

}//快速排序(陣列排序)

function quicksort($array)

$key = $array[0];

$left_arr = array();

$right_arr = array();

for ($i=1; $iif ($array[$i] <= $key)

else

}$left_arr = quicksort($left_arr);

$right_arr = quicksort($right_arr);

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

}//------------------------

// php內建字串函式實現

//------------------------

//字串長度

function strlen($str) else

}return $count;

}//擷取子串

function substr($str, $start, $length=null)

}if ($length > 0)

}if ($length < 0)

}return $substr;

}//字串翻轉

function strrev($str)

return $rev_str;

}//字串比較

function strcmp($s1, $s2)

else

}return 0;

}//查詢字串

function strstr($str, $substr)

return false;

}//字串替換

function str_replace($substr, $newsubstr, $str)

return $str;

}//--------------------

// 自實現函式

//--------------------

//插入一段字串

function str_insert($str, $i, $substr)

for ($j=$i; $j$laststr .= $str[$j];

}$str = ($startstr . $substr . $laststr);

return $str;

}//刪除一段字串

function str_delete($str, $i, $j)

for ($c=($i+$j); $c$laststr .= $str[$c];

}$str = ($startstr . $laststr);

return $str;

}//複製字串

function strcpy($s1, $s2)

return $s2;

}//連線字串

function strcat($s1, $s2)

return $newsstr;

}//簡單編碼函式(與php_decode函式對應)

function php_encode($str) 

return $s; 

}//簡單解碼函式(與php_encode函式對應)

function php_decode($str) 

return $s; 

}//簡單加密函式(與php_decrypt函式對應)

function php_encrypt($str)}}

return $enstr;

}//簡單解密函式(與php_encrypt函式對應)

function php_decrypt($str) }}

return $enstr;

演算法 基本資料結構

1 後進先出 2 棧有乙個屬性為s.top執行最新插入的元素 3 彈出稱為pop,插入稱為push 4 上溢和下溢 如果試圖對乙個空棧執行彈出操作,則稱為下溢 如果s.top超過了n,則稱為上溢,在下面偽 中不考慮上溢問題 1 先進先出 2 佇列有對頭head和對尾tail 3 插入稱為入隊 enq...

面試基本資料結構和演算法

2.二叉樹 3.鍊錶反轉 def quick sort li,start,end 分治 一分為二 start end 證明要處理的資料只有乙個 start end 證明右邊沒有資料 if start end return 定義兩個游標,分別指向0和末尾位置 left start right end ...

php 實現的基本資料結構

基本資料結構 二分查詢 陣列裡查詢某個元素 function bin sch array low high k elseif k array mid else return 1 順序查詢 陣列裡查詢某個元素 function seq sch array n k if i n else 線性表的刪除 ...