php与数据结构,php数据结构有哪些

php数据结构与算法(PHP描述) 快速排序 quick sort

复制代码

创新互联-专业网站定制、快速模板网站建设、高性价比嘉定网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式嘉定网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖嘉定地区。费用合理售后完善,十多年实体公司更值得信赖。

代码如下:

?php

/**

*

快速排序

quick

sort

*

**/

function

sort_quick($arrData)

{

if(empty($arrData)

||

!is_array($arrData))

return

false;

$flag

=

$arrData[0];

$len

=

count($arrData)

-

1;

if($len

==

0)

return

$arrData;

//

如果只有一个数据的数组直接返回

$arrLeft

=

array();

$arrRight

=

array();

$len_l

=

0;

$len_r

=

0;

for($i

=

1;

$i

=

$len;$i++)

{

if($arrData[$i]

$flag)

{

$arrLeft[$len_l]

=

$arrData[$i];

//

小于的放左边

$len_l++;

}

else

{

$arrRight[$len_r]

=

$arrData[$i];

//

大于等于的放右边

$len_r++;

}

}

//

合并数组

$arrResult

=

array();

if($len_l)

{

$arrLeft

=

sort_quick($arrLeft);

for($i

=

0;$i

=

$len_l

-

1;

$i++

)

{

$arrResult[$i]

=

$arrLeft[$i];

}

}

$arrResult[$len_l]

=

$flag;

$len_l++;

if($len_r)

{

$arrRight

=

sort_quick($arrRight);

for($i

=

0;$i

=

$len_r

-

1;

$i++

)

{

$arrResult[$len_l]

=

$arrRight[$i];

$len_l++;

}

}

echo

"==

",$flag,"

==========================================br/";

echo

"data

:

",print_r($arrData),"br/";

echo

"filter

left:

",print_r($arrLeft),"br/";

echo

"filter

right:

",print_r($arrRight),"br/";

echo

"return

:

",print_r($arrResult),"br/";

return

$arrResult;

}

//$list

=

array(4,3,2,1,5,7,3,7);

$list

=

array(4,51,6,73,2,5,9,33,50,3,4,6,1,4,67);

$list

=

sort_quick($list);

echo

"pre";print_r($list);

PHP实现数据结构几个自定义PHP函数

####### 基本的数据结构 ########

//二分查找(数组里查找某个元素)

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 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; $icount($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);

}

####### 自实现函数 #######

//插入一段字符串

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

{

for($j=0; $j$i; $j++){

$startstr .= $str[$j];

}

for ($j=$i; $jstrlen($str); $j++){

$laststr .= $str[$j];

}

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

return $str;

}

//删除一段字符串

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

{

for ($c=0; $c$i; $c++){

$startstr .= $str[$c];

}

for ($c=($i+$j); $cstrlen($str); $c++){

$laststr .= $str[$c];

}

$str = ($startstr . $laststr);

return $str;

}

//复制字符串

function strcpy($s1, $s2)

{

if (strlen($s1)==NULL || !isset($s2)) return;

for ($i=0; $istrlen($s1); $i++){

$s2[] = $s1[$i];

}

return $s2;

}

//连接字符串

function strcat($s1, $s2)

{

if (!isset($s1) || !isset($s2)) return;

$newstr = $s1;

for($i=0; $icount($s); $i++){

$newstr .= $st[$i];

}

return $newsstr;

}

//简单编码函数(与php_decode函数对应)

function php_encode($str)

{

if ($str==''  strlen($str)128) return false;

for($i=0; $istrlen($str); $i++){

$c = ord($str[$i]);

if ($c31  $c107) $c += 20;

if ($c106  $c127) $c -= 75;

$word = chr($c);

$s .= $word;

return $s; 

}

//简单解码函数(与php_encode函数对应)

function php_decode($str)

{

if ($str==''  strlen($str)128) return false;

for($i=0; $istrlen($str); $i++){

$c = ord($word);

if ($c106  $c127) $c = $c-20;

if ($c31  $c107) $c = $c+75;

$word = chr($c);

$s .= $word;

return $s; 

}

//简单加密函数(与php_decrypt函数对应)

function php_encrypt($str)

{

$encrypt_key = 'abcdefghijklmnopqrstuvwxyz1234567890';

$decrypt_key = 'ngzqtcobmuhelkpdawxfyivrsj2468021359';

if (strlen($str) == 0) return false;

for ($i=0; $istrlen($str); $i++){

for ($j=0; $jstrlen($encrypt_key); $j++){

if ($str[$i] == $encrypt_key[$j]){

$enstr .= $decrypt_key[$j];

break;

}

}

}

return $enstr;

}

//简单解密函数(与php_encrypt函数对应)

function php_decrypt($str)

{

$encrypt_key = 'abcdefghijklmnopqrstuvwxyz1234567890';

$decrypt_key = 'ngzqtcobmuhelkpdawxfyivrsj2468021359';

if (strlen($str) == 0) return false;

for ($i=0; $istrlen($str); $i++){

for ($j=0; $jstrlen($decrypt_key); $j++){

if ($str[$i] == $decrypt_key[$j]){

$enstr .= $encrypt_key[$j];

break;

}

}

}

return $enstr;

到此为止吧:)

PHP是什么?

PHP(中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。

PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多。

PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

PHP在数据库方面的丰富支持,也是它迅速走红的原因之一,它支持下列的数据库或是数据文件:

Adabas 、D、 DBA、dBase 、dbm 、filePro 、Informix 、InterBase、mSQL 、Microsoft SQL Server、·MySQL、Solid、Sybase、 Oracle 、PostgreSQL

而在Internet上它也支持了相当多的通讯协议 (protocol),包括了与电子邮件相关的 IMAP,POP3;网管系统 SNMP;网络新闻NNTP;帐号共用 NIS;全球信息网HTTP及Apache服务器;目录协议LDAP以及其它网络的相关函数。

扩展资料:

PHP的特性包括:

1、PHP独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。

2、PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。

3、PHP支持几乎所有流行的数据库以及操作系统。

4、PHP可以用C、C++进行程序的扩展。

参考资料:

百度百科--PHP

PHP 数据结构 算法 三元组 Triplet

复制代码

代码如下:

?php

/**

*

三元组

Triplet

*

*/

class

Triplet

{

private

$_data

=

null;

//

初始化三元组

public

function

init($val1,$val2,$val3)

{

$this-_data[0]

=

$val1;

$this-_data[1]

=

$val2;

$this-_data[2]

=

$val3;

return

true;

}

//

销毁三元组

public

function

destroy()

{

unset($this-_data);

return

true;

}

//

返回第$key的值

public

function

get($key)

{

if($key

1

||

$key

3)

return

false;

return

$this-_data[$key

-

1];

}

//

设置第$key元的值为$val

public

function

put($key,$val)

{

if($key

1

||

$key

3)

return

false;

$this-_data[$key

-

1]

=

$val;

return

true;

}

//

是否按升序排序

public

function

isAscending()

{

return

($this-_data[0]

=

$this-_data[1])

($this-_data[1]

=

$this-_data[2]);

}

//

是否按降序排序

public

function

isDescending()

{

return

($this-_data[0]

=

$this-_data[1])

($this-_data[1]

=

$this-_data[2]);

}

//

获取最大值

public

function

max()

{

return

($this-_data[0]

=

$this-_data[1])?

($this-_data[0]

=

$this-_data[2])?

$this-_data[0]

:

$this-_data[2]

:

($this-_data[1]

=

$this-_data[2])?

$this-_data[1]

:

$this-_data[2];

}

//

获取最小值

public

function

min()

{

return

($this-_data[0]

=

$this-_data[1])?

($this-_data[0]

=

$this-_data[2])?

$this-_data[0]

:

$this-_data[2]

:

($this-_data[1]

=

$this-_data[2])?

$this-_data[1]

:

$this-_data[2];

}

}

//

$objTriplet

=

new

Triplet();

echo

"init:";var_dump($objTriplet-init(1,2,3));

echo

"br/";

echo

"get

1:";var_dump($objTriplet-get(1));

echo

"br/";

echo

"get

4:";var_dump($objTriplet-get(4));

echo

"br/";

//

false

echo

"put

3,4:";var_dump($objTriplet-put(3,4));

echo

"br/";

echo

"max:";var_dump($objTriplet-max());

echo

"br/";

echo

"min:";var_dump($objTriplet-min());

echo

"br/";

echo

"isAscending:";var_dump($objTriplet-isAscending());

echo

"br/";

echo

"isDescending:";var_dump($objTriplet-isDescending());

echo

"br/";

?

php是什么

PHP属于编程语言的一种,是一种用于创建动态和交互式HTML网页的脚本语言。

编程语言是一种被标准化的交流技巧,用来向计算机发出指令,定义计算机程序,让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动的一种计算机语言。而编程语言包含很多细分,而PHP就是其中一种。

它的主要特性为:

①开源性和免费性

由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP运行环境的使用也是免费的。

②快捷性

PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强。

③数据库连接的广泛性

PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。

④面向过程和面向对象并用

在PHP语言的使用中,可以分别使用面向过程和面向对象,而且可以将PHP面向过程和面向对象两者一起混用,这是其它很多编程语言是做不到的。

优点

①流行,容易上手

PHP是目前最流行的编程语言,这毋庸置疑。它驱动全球超过2亿多个网站,有全球超过81.7%的公共网站在服务器端采用PHP。PHP常用的数据结构都内置了,使用起来方便简单,也一点都不复杂,表达能力相当灵活。

②开发职位很多

在服务器端的网站编程中PHP会更容易帮助你找到工作。很多互联网相关企业都在使用PHP开发框架,所以可以说市场对PHP的开发程序员的需求还是比较大的。

③仍然在不断发展

PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。版本是7之后,一直在提供更高性能的应用。

④可植入性强

PHP语言在补丁漏洞升级过程中,核心部分植入简单易行,且速度快。

⑤拓展性强

PHP语言在数据库应用过程中,可以从数据库调取各类数据,执行效率高

php 数据库中输出的数据结构

从数据库读出来的原始数据是资源。还不是数组。

$result = mysql_Query("select * from tb_admin where parid=1")

while($list = mysql_fetch_array($result)){

print_r($list);//这里输出的数组是将原数组拆开来输出。

}

原始的数据结构应是:

array(

[0]=array(

[id]=01

[classname]=我是

[url]=baidu.com

)

[1]=array(

//这里同上,不两累赘

)

)


当前标题:php与数据结构,php数据结构有哪些
本文网址:http://pwwzsj.com/article/hchgjc.html