PHP がキュー (Queue) データ構造を実装する_PHP チュートリアル

WBOY
リリース: 2016-07-14 10:11:59
オリジナル
1585 人が閲覧しました

Queue は、フロントエンドでの削除操作 (一般にデキューと呼ばれます) とバックエンドでの挿入操作 (一般にエンキューと呼ばれます) のみを実行できる特別な先入れ先出し線形テーブルです。削除操作を実行する端はキューの先頭と呼ばれ、挿入操作を実行する端はキューの末尾と呼ばれます。キューは、先入れ先出しまたは後入れ後出しの原則に従ってデータを整理します。キュー内に要素が存在しない場合、それは空のキューと呼ばれます。

データ構造とアルゴリズム(PHP実装) - キュー(Queue)1
/**
* データ構造とアルゴリズム (PHP 実装) - キュー (Queue)。
*
* @author Chuangxiang Programming (TOPPHP.ORG)
* @copyright Copyright (c) 2013 TOPPHP.ORG All Rights Reserved
* @license http://www.opensource.org/licenses/mit-license.php MIT ライセンス
* @バージョン 1.0.0 - Build20130607
​*/
クラスキュー{
/**
* 列。
*
* @var 配列
​*/
プライベート $キュー;

/**
* キューの長さ。
*
* @var 整数
​*/
プライベート $size;

/**
※構築方法 - データを初期化します。
​*/
パブリック関数 __construct() {
$this->queue = array();
$this->サイズ = 0;
}

/**
※チーム運営に参加してください。
*
* @param は、$data エンキュー データを混合しました。
* @return object オブジェクト自体を返します。
​*/
パブリック関数エンキュー($data) {
$this->queue[$this->size++] = $data;

$this を返します;
}

/**
* デキュー操作。
*
* @returnmixed キューが空の場合は FALSE を返し、それ以外の場合はキューの先頭要素を返します。
​*/
パブリック関数 dequeue() {
If (!$this->isEmpty()) {
--$this->サイズ;
$front = array_splice($this->queue, 0, 1);

$front[0] を返します;
}

FALSE を返します;
}

/**
* キューを取得します。
*
* @return array キュー全体を返します。
​*/
パブリック関数 getQueue() {
$this->queue;
を返す }

/**
* チームの先頭要素を取得します。
*
* @returnmixed キューが空の場合は FALSE を返し、それ以外の場合はキューの先頭要素を返します。
​*/
パブリック関数 getFront() {
If (!$this->isEmpty()) {
$this->queue[0];
を返します }

FALSE を返します;
}

/**
* キューの長さを取得します。
*
* @return integer キューの長さを返します。
​*/
パブリック関数 getSize() {
$this->size;
を返す }

/**
* キューが空かどうかを確認します。
*
* @return boolean キューが空の場合は TRUE を返し、それ以外の場合は FALSE を返します。
​*/
パブリック関数 isEmpty() {
0 を返す === $this->size;
}
}
?>

サンプルコード1
$queue = 新しいキュー();
$queue->enqueue(1)->enqueue(2)->enqueue(3)->enqueue(4)->enqueue(5)->enqueue(6);
echo '

'、print_r($queue->getQueue(), TRUE)、'
';

$queue->dequeue();
echo '
'、print_r($queue->getQueue(), TRUE)、'
';
?>

注: PHP 配列関数には、array_unshift (エンキュー) および array_shift (デキュー) というキューのような関数がすでにあります。

www.bkjia.com本当http://www.bkjia.com/PHPjc/477263.html技術記事キューは、フロントエンドでの削除操作 (一般にデキューと呼ばれます) とバックエンドでの挿入操作 (一般にエンキューと呼ばれます) のみを実行できる特殊な先入れ先出し線形テーブルです。入力してください...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!