PHP佇列的實現 演算法

2022-04-09 07:53:13 字數 3175 閱讀 9907

此佇列演算法中有兩個類乙個是data類,這個類是存放資料;第二個是queue也就是佇列類這個就是佇列的一些操作。

首先佇列裡包含front(佇列的頭,也就是出隊是要出去的) rear(佇列的尾部在這裡永遠指向0) queue(存放所有入隊的data對像,queue中預設存在乙個元素當空時front和rear都指向他) maxsize(佇列的長度)四個屬性

應用說明:

1初始化佇列:生成乙個佇列傳入乙個引數作為maxsize初始化佇列把rear設為0 ,front設為0此時queue中只有0號元素rear和front都指向他

2.入隊:判斷佇列是否已滿(front-rear==maxsize),如果滿提示,若果沒滿先讓front+1,然後讓所有佇列中的元素像前移動一位(也就是給新來的讓出隊尾位置),然後生成data物件插入到隊尾+1的位置。此時入隊成功!

3.出隊:判斷佇列是否為空(front==rear),如空提示,如不為空,刪除front指向的物件,front-1(向後移動一位),出隊成功!

**:

<?php/**

* php佇列演算法

* * create on 2010-6-4

* author been

* email:[email protected]**/

class

data

public

function

getdata()

public

function

__destruct()

}class

queue

//初始化佇列

private

function initq($size

)

//判斷隊空

public

function

qisempty()

//判斷隊滿

public

function

qisfull()

//獲取隊首資料

public

function

getfrontdate()

//入隊

public

function inq($data

)

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

);

//print_r($this->queue);

//echo $this->front;

echo '入隊成功!

'; }

}//出隊

public

function

outq()

}}$q=new queue(3);

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

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

$q->inq('溜冰');

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

$q->outq();

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

$q->outq();

$q->outq();

$q->outq();

$q->outq();

此佇列演算法中有兩個類乙個是data類,這個類是存放資料;第二個是queue也就是佇列類這個就是佇列的一些操作。

首先佇列裡包含front(佇列的頭,也就是出隊是要出去的) rear(佇列的尾部在這裡永遠指向0) queue(存放所有入隊的data對像,queue中預設存在乙個元素當空時front和rear都指向他) maxsize(佇列的長度)四個屬性

應用說明:

1初始化佇列:生成乙個佇列傳入乙個引數作為maxsize初始化佇列把rear設為0 ,front設為0此時queue中只有0號元素rear和front都指向他

2.入隊:判斷佇列是否已滿(front-rear==maxsize),如果滿提示,若果沒滿先讓front+1,然後讓所有佇列中的元素像前移動一位(也就是給新來的讓出隊尾位置),然後生成data物件插入到隊尾+1的位置。此時入隊成功!

3.出隊:判斷佇列是否為空(front==rear),如空提示,如不為空,刪除front指向的物件,front-1(向後移動一位),出隊成功!

**:

<?php/**

* php佇列演算法

* * create on 2010-6-4

* author been

* email:[email protected]**/

class

data

public

function

getdata()

public

function

__destruct()

}class

queue

//初始化佇列

private

function initq($size

)

//判斷隊空

public

function

qisempty()

//判斷隊滿

public

function

qisfull()

//獲取隊首資料

public

function

getfrontdate()

//入隊

public

function inq($data

)

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

);

//print_r($this->queue);

//echo $this->front;

echo '入隊成功!

'; }

}//出隊

public

function

outq()

}}$q=new queue(3);

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

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

$q->inq('溜冰');

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

$q->outq();

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

$q->outq();

$q->outq();

$q->outq();

$q->outq();

PHP佇列的實現 演算法

此佇列演算法中有兩個類乙個是data類,這個類是存放資料 第二個是queue也就是佇列類這個就是佇列的一些操作。首先佇列裡包含front 佇列的頭,也就是出隊是要出去的 rear 佇列的尾部在這裡永遠指向0 queue 存放所有入隊的data對像,queue中預設存在乙個元素當空時front和rea...

php使用佇列 php實現佇列

佇列 queue 滿足先進先出 fifo 的規則 下面使用php實現乙個簡單的迴圈佇列模型 初始狀態的佇列,佇列長度為0,隊頭和隊尾的指標相同均位於佇列的開始 入隊操作 隊尾指標向後移動,長度加一 出隊操作 隊頭指標向後移動,長度減一 迴圈佇列特點 佇列大小固定,佇列所開闢的記憶體空間可迴圈使用,指...

php演算法 佇列

此佇列演算法中有兩個類乙個是data類,這個類是存放資料 第二個是queue也就是佇列類這個就是佇列的一些操作。首先佇列裡包含front 佇列的頭,也就是出隊是要出去的 rear 佇列的尾部在這裡永遠指向0 queue 存放所有入隊的data對像,queue中預設存在乙個元素當空時front和rea...