日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php行列,【后端开辟】php 怎样完成行列

發(fā)布時間:2023/12/31 php 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php行列,【后端开辟】php 怎样完成行列 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

php怎樣完成行列?

此行列算法中有兩個類:

第一個是data類,這個類是寄存數(shù)據(jù);

第二個是queue類,也就是行列類這個就是行列的一些操縱;

起首行列里包括四個屬性:

front(行列的頭,也就是出隊(duì)是要出去的)

rear(行列的尾部在這里永久指向0)

queue(寄存一切入隊(duì)的data對像,queue中默許存在一個元素當(dāng)空時front和rear都指向他)

maxsize(行列的長度)

運(yùn)用申明:

1初始化行列:生成一個行列傳入一個參數(shù)作為maxsize初始化行列把rear設(shè)為0 ,front設(shè)為0此時queue中只要0號元素rear和front都指向他

2.入隊(duì):推斷行列是不是已滿(front-rear==maxsize),假如滿提醒,若果沒滿先讓front+1,然后讓一切行列中的元素像前挪動一名(也就是給新來的讓出隊(duì)尾位置),然后生成data對象插進(jìn)去到隊(duì)尾+1的位置。此時入隊(duì)勝利!

3.出隊(duì):推斷行列是不是為空(front==rear),如空提醒,如不為空,刪除front指向的對象,front-1(向后挪動一名),出隊(duì)勝利!

/**

* php行列算法

*

* Create On 2010-6-4

* Author Been

* QQ:281443751

* Email:binbin1129@126.com

**/

class data {

//數(shù)據(jù)

private $data;

public function __construct($data){

$this->data=$data;

echo $data.":哥進(jìn)隊(duì)了!
";

}

public function getData(){

return $this->data;

}

public function __destruct(){

echo $this->data.":哥走了!
";

}

}

class queue{

protected $front;//隊(duì)頭

protected $rear;//隊(duì)尾

protected $queue=array('0'=>'隊(duì)尾');//存儲行列

protected $maxsize;//最大數(shù)

public function __construct($size){

$this->initQ($size);

}

//初始化行列

private function initQ($size){

$this->front=0;

$this->rear=0;

$this->maxsize=$size;

}

//推斷隊(duì)空

public function QIsEmpty(){

return $this->front==$this->rear;

}

//推斷隊(duì)滿

public function QIsFull(){

return ($this->front-$this->rear)==$this->maxsize;

}

//獵取隊(duì)首數(shù)據(jù)

public function getFrontDate(){

return $this->queue[$this->front]->getData();

}

//入隊(duì)

public function InQ($data){

if($this->QIsFull())echo $data.":我一來咋就滿了!(隊(duì)滿不能入隊(duì),請守候!)
";

else {

$this->front++;

for($i=$this->front;$i>$this->rear;$i--){

//echo $data;

if($this->queue[$i])unset($this->queue[$i]);

$this->queue[$i]=$this->queue[$i-1];

}

$this->queue[$this->rear+1]=new data($data);

//print_r($this->queue);

//echo $this->front;

echo '入隊(duì)勝利!
';

}

}

//出隊(duì)

public function OutQ(){

if($this->QIsEmpty())echo "隊(duì)空不能出隊(duì)!
";

else{

unset($this->queue[$this->front]);

$this->front--;

//print_r($this->queue);

//echo $this->front;

echo "出隊(duì)勝利!
";

}

}

}

$q=new queue(3);

$q->InQ("小苗");

$q->InQ('馬帥');

$q->InQ('滑冰');

$q->InQ('張世佳');

$q->OutQ();

$q->InQ("周瑞曉");

$q->OutQ();

$q->OutQ();

$q->OutQ();

$q->OutQ();

運(yùn)轉(zhuǎn)效果:

小苗:哥進(jìn)隊(duì)了!

入隊(duì)勝利

馬帥:哥進(jìn)隊(duì)了!

入隊(duì)勝利

滑冰:哥進(jìn)隊(duì)了!

入隊(duì)勝利

張世佳:我一來咋就滿了!(隊(duì)滿不能入隊(duì),請守候!)

小苗:哥走了!

出隊(duì)勝利!

周瑞曉:哥進(jìn)隊(duì)了!

入隊(duì)勝利

馬帥:哥走了!

出隊(duì)勝利!

滑冰:哥走了!

出隊(duì)勝利!

周瑞曉:哥走了!

出隊(duì)勝利!

隊(duì)空不能出隊(duì)!

隊(duì)空不能出隊(duì)!

以上就是php 怎樣完成行列的細(xì)致內(nèi)容,更多請關(guān)注ki4網(wǎng)別的相干文章!

收藏 | 0

總結(jié)

以上是生活随笔為你收集整理的php行列,【后端开辟】php 怎样完成行列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。