ホームページ > バックエンド開発 > PHPチュートリアル > PHP はスタック (Stack) データ構造を実装します_PHP チュートリアル

PHP はスタック (Stack) データ構造を実装します_PHP チュートリアル

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

スタックは特殊な後入れ先出しの線形テーブルで、一方の端でのみ挿入 (挿入は一般にプッシュ、プッシュ、またはプッシュと呼ばれます) および削除 (削除は一般にポップまたはアンスタックと呼ばれます) またはポップ) 操作が可能です。挿入および削除操作が可能な端はスタックの最上部と呼ばれ、もう一方の端はスタックの最下部と呼ばれます。スタックは、後入れ先出しの原則に従ってデータを格納します。データを読み取る必要がある場合、最初に入力されたデータはスタックの一番下にプッシュされます。 、データはスタックの最上位からポップされます。スタック内に要素が存在しない場合、それは空のスタックと呼ばれます。

データ構造とアルゴリズム (PHP 実装) - スタック 1
/**
* データ構造とアルゴリズム (PHP 実装) - スタック。
*
* @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->stack = array();
$this->サイズ = 0;
}

/**
* プッシュ (スタックにプッシュ、スタックにプッシュ) 操作。
*
* @parammixed $data データをスタックにプッシュします。
* @return object オブジェクト自体を返します。
​*/
パブリック関数プッシュ($data) {
$this->スタック[$this->size++] = $data;

$this を返します;
}

/**
* スタックのポップ (イジェクト、ポップ) 操作。
*
* @returnmixed スタックが空の場合は FALSE を返し、それ以外の場合はスタックの最上位の要素を返します。
​*/
パブリック関数 Pop() {
If (!$this->isEmpty()) {
$top = array_splice($this->stack, --$this->size, 1);

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

FALSE を返します;
}

/**
* スタックを取得します。
*
* @return array スタックを返します。
​*/
パブリック関数 getStack() {
$this->stack;
を返す }

/**
* スタックの最上位要素を取得します。
*
* @returnmixed スタックが空の場合は FALSE を返し、それ以外の場合はスタックの最上位の要素を返します。
​*/
パブリック関数 getTop() {
If (!$this->isEmpty()) {
$this->stack[$this->size - 1];
を返します }

FALSE を返します;
}

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

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

サンプルコード1
$stack = 新しいスタック();
$stack->push(1)->push(2)->push(3)->push(4)->push(5)->push(6);
echo '

'、print_r($stack->getStack(), TRUE)、'
';

$stack->pop();
echo '
'、print_r($stack->getStack(), TRUE)、'
';
?>

注: PHP 配列関数には、すでにスタックのような関数、array_push (プッシュ) および array_pop (ポップ) が含まれています。

www.bkjia.com本当http://www.bkjia.com/PHPjc/477269.html技術記事スタックは、一方の端でのみ挿入 (挿入は一般にプッシュ、プッシュまたはプッシュと呼ばれます) および削除 (削除は一般にポップまたはポップと呼ばれます) のみできる特殊な後入れ先出しの線形テーブルです。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート