欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

php經(jīng)典算法和數(shù)據(jù)結(jié)構(gòu),php基本算法

php數(shù)據(jù)結(jié)構(gòu)與算法(PHP描述) 快速排序 quick sort

復(fù)制代碼

創(chuàng)新互聯(lián)專注于安吉網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供安吉營銷型網(wǎng)站建設(shè),安吉網(wǎng)站制作、安吉網(wǎng)頁設(shè)計、安吉網(wǎng)站官網(wǎng)定制、小程序設(shè)計服務(wù),打造安吉網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供安吉網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

代碼如下:

?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;

//

如果只有一個數(shù)據(jù)的數(shù)組直接返回

$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++;

}

}

//

合并數(shù)組

$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 數(shù)據(jù)結(jié)構(gòu) 算法 三元組 Triplet

復(fù)制代碼

代碼如下:

?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];

}

//

設(shè)置第$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/";

?

數(shù)據(jù)結(jié)構(gòu)算法在php編程中的作用?

數(shù)據(jù)結(jié)構(gòu)是在整個計算機科學(xué)與技術(shù)領(lǐng)域上廣泛被使用的術(shù)語。它用來反映一個數(shù)據(jù)的內(nèi)部構(gòu)成,即一個數(shù)據(jù)由那些成分?jǐn)?shù)據(jù)構(gòu)成,以什么方式構(gòu)成,呈什么結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)有邏輯上的數(shù)據(jù)結(jié)構(gòu)和物理上的數(shù)據(jù)結(jié)構(gòu)之分。邏輯上的數(shù)據(jù)結(jié)構(gòu)反映成分?jǐn)?shù)據(jù)之間的邏輯關(guān)系,而物理上的數(shù)據(jù)結(jié)構(gòu)反映成分?jǐn)?shù)據(jù)在計算機內(nèi)部的存儲安排。數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)存在的形式。 數(shù)據(jù)結(jié)構(gòu)是信息的一種組織方式,其目的是為了提高算法的效率,它通常與一組算法的集合相對應(yīng),通過這組算法集合可以對數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)進行某種操作。

使用php實現(xiàn)的基本的數(shù)據(jù)結(jié)構(gòu)和算法,什么二叉樹、二叉搜索樹、AVL樹、B樹、鏈表和常見排序、搜索算法等等,而且全部是使用面向?qū)ο髞韺崿F(xiàn)的,確是是很強。

當(dāng)前名稱:php經(jīng)典算法和數(shù)據(jù)結(jié)構(gòu),php基本算法
轉(zhuǎn)載源于:http://chinadenli.net/article33/dsigdps.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊網(wǎng)站內(nèi)鏈微信公眾號品牌網(wǎng)站制作網(wǎng)站制作云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管