PHP佇列的實現 演算法

2022-08-05 18:39:11 字數 1579 閱讀 7549

此佇列演算法中有兩個類一個是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 演算法 堆排序的PHP實現

1 堆 二叉堆 可以視為一棵完全的二叉樹 除了最底層之外 每一層都是滿的 這使得堆可以利用陣列來表示 每一個結點對應陣列中的一個元素 2 給...

PHP演算法

演算法複雜度 執行演算法所需的計算工作量。一般來說,計算機演算法是問題規模n的函式f n ,演算法的時間複雜度也因此記做t n o f n 常見時間複雜度有 常數階 線性階 平方階 立方階 對數階 nlog2n階 指數階。 效率 o 1 o log2n o n o nlog2n o n 2 o n 3 o ...

PHP 演算法 替換空格的PHP實現

替換空格 思路 1 先迴圈一遍,找出該字串中 空格的個數count 2 因為要把 空格替換成 20 ,所以,要倒著數,最後一個空格後面的元素...