亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

基本數據結構算法

2024-09-04 11:47:45
字體:
來源:轉載
供稿:網友
  1. <?  
  2. //--------------------  
  3. // 基本數據結構算法 
  4. //--------------------  
  5.  
  6. //二分查找(數組里查找某個元素)  
  7. function bin_sch($array$low$high$k){   
  8.     if ($low <= $high){   
  9.         $mid = intval(($low+$high)/2);   
  10.         if ($array[$mid] == $k){   
  11.             return $mid;   
  12.         }elseif ($k < $array[$mid]){   
  13.             return bin_sch($array$low$mid-1, $k);   
  14.         }else{   
  15.             return bin_sch($array$mid+1, $high$k);   
  16.         }   
  17.     }   
  18.     return -1;   
  19. }   
  20.  
  21. //順序查找(數組里查找某個元素)  
  22. function seq_sch($array$n$k){   
  23.     $array[$n] = $k;   
  24.     for($i=0; $i<$n$i++){   
  25.         if($array[$i]==$k){   
  26.             break;   
  27.         }   
  28.     }   
  29.     if ($i<$n){   
  30.         return $i;   
  31.     }else{   
  32.         return -1;   
  33.     }   
  34. }   
  35.  
  36. //線性表的刪除(數組中實現)  
  37. function delete_array_element($array$i)  
  38. {  
  39.         $len = count($array);   
  40.         for ($j=$i$j<$len$j++){  
  41.                 $array[$j] = $array[$j+1];  
  42.         }  
  43.         array_pop($array);  
  44.         return $array;  
  45. }  
  46.  
  47. //冒泡排序(數組排序)  
  48. function bubble_sort($array)  
  49. {  
  50.         $count = count($array);  
  51.         if ($count <= 0) return false;  
  52.  
  53.         for($i=0; $i<$count$i++){  
  54.                 for($j=$count-1; $j>$i$j--){  
  55.                         if ($array[$j] < $array[$j-1]){  
  56.                                 $tmp = $array[$j];  
  57.                                 $array[$j] = $array[$j-1];  
  58.                                 $array[$j-1] = $tmp;  
  59.                         }  
  60.                 }  
  61.         }  
  62.         return $array;  
  63. }  
  64.  
  65. //快速排序(數組排序)  
  66. function quick_sort($array) {  
  67.         if (count($array) <= 1) return $array;  
  68.  
  69.         $key = $array[0];  
  70.         $left_arr = array();  
  71.         $right_arr = array();  
  72.  
  73.         for ($i=1; $i<count($array); $i++){  
  74.                 if ($array[$i] <= $key)  
  75.                         $left_arr[] = $array[$i];  
  76.                 else  
  77.                         $right_arr[] = $array[$i];  
  78.         }  
  79.  
  80.         $left_arr = quick_sort($left_arr);  
  81.         $right_arr = quick_sort($right_arr);  
  82.  
  83.         return array_merge($left_arrarray($key), $right_arr);  
  84. }  
  85.  
  86.  
  87.  
  88. //------------------------  
  89. // PHP內置字符串函數實現  
  90. //------------------------  
  91.  
  92. //字符串長度  
  93. function strlen($str)  
  94. {  
  95.         if ($str == ''return 0;  
  96.  
  97.         $count = 0;  
  98.         while (1){  
  99.                 if ($str[$count] != NULL){  
  100.                         $count++;  
  101.                         continue;  
  102.                 }else{  
  103.                         break;  
  104.                 }  
  105.         }  
  106.         return $count;  
  107. }  
  108.  
  109. //截取子串  
  110. function substr($str$start$length=NULL)  
  111. {  
  112.         if ($str=='' || $start>strlen($str)) return;  
  113.         if (($length!=NULL) && ($start>0) && ($length>strlen($str)-$start)) return;  
  114.         if (($length!=NULL) && ($start<0) && ($length>strlen($str)+$start)) return;  
  115.         if ($length == NULL) $length = (strlen($str) - $start);  
  116.           
  117.         if ($start < 0){  
  118.                 for ($i=(strlen($str)+$start); $i<(strlen($str)+$start+$length); $i++) {  
  119.                         $substr .= $str[$i];  
  120.                 }  
  121.         }  
  122.  
  123.         if ($length > 0){  
  124.                 for ($i=$start$i<($start+$length); $i++) {  
  125.                         $substr .= $str[$i];  
  126.                 }  
  127.         }  
  128.  
  129.         if ($length < 0){  
  130.                 for ($i=$start$i<(strlen($str)+$length); $i++) {  
  131.                         $substr .= $str[$i];  
  132.                 }  
  133.         }  
  134.         return $substr;  
  135. }  
  136.  
  137. //字符串翻轉  
  138. function strrev($str)  
  139. {  
  140.         if ($str == ''return 0;  
  141.         for ($i=(strlen($str)-1); $i>=0; $i--){  
  142.                 $rev_str .= $str[$i];  
  143.         }  
  144.         return $rev_str;  
  145. }  
  146.  
  147.  
  148. //字符串比較  
  149. function strcmp($s1$s2)  
  150. {  
  151.         if (strlen($s1) < strlen($s2)) return -1;  
  152.         if (strlen($s1) > strlen($s2)) return 1;  
  153.  
  154.         for ($i=0; $i<strlen($s1); $i++){  
  155.                 if ($s1[$i] == $s2[$i]){  
  156.                         continue;  
  157.                 }else{  
  158.                         return false;  
  159.                 }  
  160.         }  
  161.         return 0;  
  162. }  
  163.  
  164.  
  165. //查找字符串  
  166. function strstr($str$substr)  
  167. {  
  168.         $m = strlen($str);  
  169.         $n = strlen($substr);  
  170.         if ($m < $nreturn false;  
  171.  
  172.         for ($i=0; $i<=($m-$n+1); $i++){  
  173.                 $sub = substr($str$i$n);  
  174.                 if (strcmp($sub$substr) == 0)  return $i;  
  175.         }  
  176.         return false;  
  177. }  
  178.  
  179. //字符串替換  
  180. function str_replace($substr$newsubstr$str)  
  181. {  
  182.         $m = strlen($str);  
  183.         $n = strlen($substr);  
  184.         $x = strlen($newsubstr);  
  185.         if (strchr($str$substr) == false) return false;  
  186.  
  187.         for ($i=0; $i<=($m-$n+1); $i++){  
  188.                 $i = strchr($str$substr);  
  189.                 $str = str_delete($str$i$n);  
  190.                 $str = str_insert($str$i$newstr);  
  191.         }  
  192.         return $str;  
  193. }  
  194.  
  195.  
  196.  
  197. //--------------------  
  198. // 自實現字符串處理函數 
  199. //--------------------  
  200.  
  201. //插入一段字符串  
  202. function str_insert($str$i$substr)  
  203. {  
  204.         for($j=0; $j<$i$j++){  
  205.                 $startstr .= $str[$j];  
  206.         }  
  207.         for ($j=$i$j<strlen($str); $j++){  
  208.                 $laststr .= $str[$j];  
  209.         }  
  210.         $str = ($startstr . $substr . $laststr);  
  211.  
  212.         return $str;  
  213. }  
  214.  
  215. //刪除一段字符串  
  216. function str_delete($str$i$j)  
  217. {  
  218.         for ($c=0; $c<$i$c++){  
  219.                 $startstr .= $str[$c];  
  220.         }  
  221.         for ($c=($i+$j); $c<strlen($str); $c++){  
  222.                 $laststr .= $str[$c];  
  223.         }  
  224.         $str = ($startstr . $laststr);  
  225.  
  226.         return $str;  
  227. }  
  228.  
  229. //復制字符串  
  230. function strcpy($s1$s2)  
  231. {  
  232.         if (strlen($s1)==NULL || !isset($s2)) return;  
  233.  
  234.         for ($i=0; $i<strlen($s1); $i++){  
  235.                 $s2[] = $s1[$i];  
  236.         }  
  237.         return $s2;  
  238. }  
  239.  
  240. //連接字符串  
  241. function strcat($s1$s2)  
  242. {  
  243.         if (!isset($s1) || !isset($s2)) return;  
  244.         $newstr = $s1;  
  245.         for($i=0; $i<count($s); $i++){  
  246.                 $newstr .= $st[$i];  
  247.         }  
  248.         return $newsstr;  
  249. }  
  250.  
  251. //簡單編碼函數(與php_decode函數對應)  
  252. function php_encode($str)  
  253. {  
  254.         if ($str=='' && strlen($str)>128) return false;  
  255.  
  256.         for($i=0; $i<strlen($str); $i++){  
  257.                 $c = ord($str[$i]);  
  258.                 if ($c>31 && $c<107) $c += 20;  
  259.                 if ($c>106 && $c<127) $c -= 75;  
  260.                 $word = chr($c);  
  261.                 $s .= $word;  
  262.         }   
  263.  
  264.         return $s;   
  265. }  
  266.  
  267. //簡單解碼函數(與php_encode函數對應)  
  268. function php_decode($str)  
  269. {  
  270.         if ($str=='' && strlen($str)>128) return false;  
  271.  
  272.         for($i=0; $i<strlen($str); $i++){  
  273.                 $c = ord($word);  
  274.                 if ($c>106 && $c<127) $c = $c-20;  
  275.                 if ($c>31 && $c<107) $c = $c+75;  
  276.                 $word = chr($c);  
  277.                 $s .= $word;  
  278.         }   
  279.  
  280.         return $s;   
  281. }  
  282.  
  283. //簡單加密函數(與php_decrypt函數對應)  
  284. function php_encrypt($str)  
  285. {  
  286.         $encrypt_key = 'abcdefghijklmnopqrstuvwxyz1234567890';  
  287.         $decrypt_key = 'ngzqtcobmuhelkpdawxfyivrsj2468021359';  
  288.  
  289.         if (strlen($str) == 0) return false;  
  290.  
  291.         for ($i=0; $i<strlen($str); $i++){  
  292.                 for ($j=0; $j<strlen($encrypt_key); $j++){  
  293.                         if ($str[$i] == $encrypt_key[$j]){  
  294.                                 $enstr .= $decrypt_key[$j];  
  295.                                 break;  
  296.                         }  
  297.                 }  
  298.         }  
  299.  
  300.         return $enstr;  
  301. }  
  302.  
  303. //簡單解密函數(與php_encrypt函數對應)  
  304. function php_decrypt($str)  
  305. {  
  306.         $encrypt_key = 'abcdefghijklmnopqrstuvwxyz1234567890';  
  307.         $decrypt_key = 'ngzqtcobmuhelkpdawxfyivrsj2468021359';  
  308.         if (strlen($str) == 0) return false;  
  309.         for ($i=0; $i<strlen($str); $i++){  
  310.                 for ($j=0; $j<strlen($decrypt_key); $j++){  
  311.                         if ($str[$i] == $decrypt_key[$j]){  
  312.                                 $enstr .= $encrypt_key[$j];  
  313.                                 break;  
  314.                         }  
  315.                 }  
  316.         }  
  317.         return $enstr;  
  318. }  
  319. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
午夜精品久久久久久久久久久久| 欧美影院成年免费版| 欧美性xxxx极品hd欧美风情| 欧美乱大交xxxxx另类电影| 麻豆乱码国产一区二区三区| 久久久噜噜噜久久中文字免| 亚洲第一区在线| 欧美日韩黄色大片| 日韩经典中文字幕| 草民午夜欧美限制a级福利片| 欧美性xxxx极品高清hd直播| 性欧美亚洲xxxx乳在线观看| 国产精品第二页| 久久精品在线视频| 在线日韩日本国产亚洲| 国产精品网站视频| 亚洲性猛交xxxxwww| 这里只有视频精品| 欧美区二区三区| 91国偷自产一区二区三区的观看方式| 亚洲激情国产精品| 日韩精品高清在线| 91精品久久久久久久| 国产精品久久99久久| 国产精品专区第二| 日韩免费电影在线观看| 久久在线精品视频| 欧日韩不卡在线视频| 日韩欧美在线视频| 欧美丰满少妇xxxx| …久久精品99久久香蕉国产| 亚洲精品美女在线观看播放| 青草青草久热精品视频在线网站| 国产成人精品一区二区在线| 中文国产成人精品| 日韩动漫免费观看电视剧高清| 亚洲男人天天操| 亚洲福利在线视频| 欧美日韩在线另类| 欧美一二三视频| 播播国产欧美激情| 欧美成人手机在线| 日韩成人小视频| 亚洲激情在线视频| 久久久久成人网| 精品久久久视频| 7777kkkk成人观看| 日韩**中文字幕毛片| 欧美午夜性色大片在线观看| 日韩在线观看免费av| 亚洲无限av看| 久久免费精品日本久久中文字幕| 亚洲乱码国产乱码精品精天堂| 国产成人av在线播放| 在线播放日韩精品| 96pao国产成视频永久免费| 永久免费看mv网站入口亚洲| 亚洲人成网站色ww在线| 91av在线看| 国产精品亚发布| 国产成人91久久精品| 久久精品久久久久电影| 69av在线视频| 成人美女av在线直播| 在线电影欧美日韩一区二区私密| 亚洲免费伊人电影在线观看av| 97视频网站入口| 色偷偷亚洲男人天堂| 欧洲亚洲在线视频| 亚洲电影免费观看高清完整版在线| 国产91色在线|| 精品国产成人在线| 日韩欧美一区二区在线| 日韩免费av片在线观看| 亚洲欧美一区二区三区四区| 国产不卡一区二区在线播放| 91色视频在线导航| 91久久嫩草影院一区二区| 国产成人一区二区三区| 亚洲自拍小视频免费观看| 欧美性猛交xxxx黑人| 91精品国产沙发| 中文字幕精品www乱入免费视频| 欧美日韩国产va另类| 国产一区二区三区欧美| 精品久久久av| 555www成人网| 欧美资源在线观看| 高清一区二区三区日本久| 亚洲天堂色网站| 欧美精品videos| 色天天综合狠狠色| 亚洲精品一二区| 国产精品久久久精品| 欧美电影免费观看| 77777亚洲午夜久久多人| 欧美成人免费视频| 中文欧美在线视频| 欧美激情在线播放| 成人疯狂猛交xxx| 亚洲精品国偷自产在线99热| 日韩av免费在线看| 欧美黑人狂野猛交老妇| 亚洲欧洲自拍偷拍| 亚洲另类xxxx| 中文字幕欧美国内| 91夜夜揉人人捏人人添红杏| 亚洲全黄一级网站| 日韩风俗一区 二区| 亚洲精品国偷自产在线99热| 欧美在线视频一二三| 亚洲精品视频二区| 欧美激情视频网址| 91精品国产91久久久久久| 国产999视频| 国产亚洲成av人片在线观看桃| 欧美成年人视频网站| 亚洲国产中文字幕在线观看| 黑人与娇小精品av专区| www.欧美精品一二三区| 日韩成人xxxx| 国产精品狠色婷| 秋霞av国产精品一区| 欧美超级免费视 在线| 久久久久久网址| 中文字幕成人精品久久不卡| 一区二区三区回区在观看免费视频| 久久999免费视频| 欧美日韩福利电影| 亚洲视频日韩精品| 亚洲大胆美女视频| 亚洲一区第一页| 国产精品69久久久久| 91久久在线视频| 亚洲xxxx做受欧美| 色哟哟网站入口亚洲精品| 亚洲精品av在线| 精品久久久久久久久久ntr影视| 91黄色8090| 久久久视频免费观看| 欧美激情亚洲国产| 亚洲午夜色婷婷在线| 奇门遁甲1982国语版免费观看高清| 最新国产精品亚洲| 国产成人+综合亚洲+天堂| 国产精品白丝av嫩草影院| 超薄丝袜一区二区| 91色琪琪电影亚洲精品久久| 欧美肥老妇视频| 欧美自拍视频在线观看| 欧美成人精品三级在线观看| 国产亚洲激情视频在线| 亚洲最大福利视频网| 亚洲自拍偷拍视频| 日韩大片在线观看视频| 一本一本久久a久久精品牛牛影视| 欧美性做爰毛片| 欧美日韩国产成人在线观看| 亚洲第一色中文字幕| 色婷婷久久一区二区| 国产精品久久久久久久久久久不卡| 久久久免费精品视频| 成人免费淫片aa视频免费| www日韩中文字幕在线看|