ホームページ >バックエンド開発 >PHPチュートリアル >配列に基づいて PHP で実装されたスタック関数とキュー関数の共有の例

配列に基づいて PHP で実装されたスタック関数とキュー関数の共有の例

小云云
小云云オリジナル
2018-01-11 10:34:182299ブラウズ

この記事では、主に配列に基づく PHP のスタック関数とキュー関数を紹介し、PHP の array_push()、array_pop()、array_shift() およびその他の配列に基づく関数がスタックのプッシュとポップをどのように実現するか、サンプルの形で分析します。キューの追加や削除など、関連する操作スキルが必要な友人の参考になれば幸いです。

スタックとキューはデータ構造の 2 つの実装形式であり、データを保存するために非常に広く使用されているコンテナーです。次に、PHP でのこれら 2 つのコンテナーのアプリケーションについて説明します。

1. 配列を使用してスタックを実装します。

1 スタック コンテナーでは、スタックに最後にプッシュされたものが最初に追加されます。それがいわゆる「先入れ後出し」のデータ構造です。

2. PHP では、配列をスタックとして扱うことができます。array_push() 関数または "$array[]=$value" を使用してプッシュを完了します。 array_pop() 関数を使用して、pop 操作を完了します。 array_push()函数或者以“$array[]=$value”完成进栈操作,使用array_pop()函数完成出栈操作。

3、堆栈的进栈操作相当于:将数据挨个放入一个桶状的(假设数据和此桶具有恰当的表面面积,即刚好能横放进去)容器中,造成的结果就是,完成所有数据进栈之后,先进栈的在最下面。

4、数组进栈示例:


<?php
   $mypara = array("para1");
   echo(array_push($mypara,"para2"));  //添加一个数据到mypara数组
   print_r($mypara);
   $mypara1=array("a"=>"para11","b"=>"para12");
   echo array_push($mypara1,"para13","para14");
    print_r($mypara1);  //Array([a] => para11 [b] => para12 [0] => para13 [2] => para14)
   $mypara1["c"] = "para15";  //以“$array[]=$value”形式添加
   print_r ($mypara1); //Array([a] => para11 [b] => para12 [0] => para13 [2] => para14 [c] => para15)
?>

5、数组出栈示例:


<?php
   $mypara = array("para1","para2","para3","para4");
   echo array_pop($mypara); //将最后的元素返回被删除的值弹出,输出PHP
  print_r($mypara); //Array([0] => para1 [1]=>para2 [2]=>para3)
?>

二、使用数组实现队列:

1、在数据结构中,队列和堆栈有所不同,遵循“先进先出”的原则。

2、队列举例理解,就好比输液针管一样,先进入细管的液体先进入人体。

3、在PHP中,将数组当成一个队列,可使用array_push()函数或者以“$array[]=$value”完成添加数据操作,使用array_shift()函数完成删除数据操作。

4、数组删除队列数据示例:


<?php
   $mypara = array("a"=>"para1","b"=>"para2","c"=>"para3");
   echo array_shift($mypara);
   print_r($mypara);
?>

5、注意:PHP还提供了另外一个从队列数组的开头插入一个或多个元素,该函数执行成功将返回插入元素的个数,使用格式和函数array_push()一样。即可以使用array_unshift()函数和array_shift()

3. スタックのプッシュ操作は、バケツ型のコンテナにデータを 1 つずつ入れるのと同じです (データとバケツに適切な表面積がある、つまり水平方向にちょうど収まると仮定します)。結果として、すべてのデータがスタックにプッシュされると、最初のデータが最後になります。

4. 配列をスタックにプッシュする例:


rrreee5. 配列をスタックにポップする例:

rrreee

2. 配列を使用してキューを実装します。

1. データ構造では、キューとスタックは異なり、「先入れ先出し」の原則に従います。 🎜🎜2. キューを例として説明すると、細い管に入った液体が最初に人体に入ります。 🎜🎜3. PHP では、配列をキューとして扱います。array_push() 関数または "$array[]=$value" を使用してデータを完成させることができます。データの削除操作を完了するには、array_shift() 関数を使用します。 🎜🎜4. 配列からキュー データを削除する例: 🎜


🎜rrreee🎜5. 注: PHP には、キューの先頭から 1 つ以上の要素を挿入する別の関数も用意されています。実行が成功すると、挿入された要素の数が返されます。形式は関数 array_push() と同じです。つまり、array_unshift() 関数と array_shift() 関数を使用してキュー操作を実行できます。 🎜🎜関連する推奨事項: 🎜🎜🎜PHP がスタックに基づいて高度な計算機関数を実装する方法の詳細な説明🎜🎜🎜🎜Js におけるスタック問題の分析🎜🎜🎜🎜スタックをシミュレートする方法の紹介🎜🎜

以上が配列に基づいて PHP で実装されたスタック関数とキュー関数の共有の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。