<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.spl.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'spl.datastructures.php',
    1 => 'データ構造',
    2 => 'データ構造',
  ),
  'up' => 
  array (
    0 => 'book.spl.php',
    1 => 'SPL',
  ),
  'prev' => 
  array (
    0 => 'splsubject.notify.php',
    1 => 'SplSubject::notify',
  ),
  'next' => 
  array (
    0 => 'class.spldoublylinkedlist.php',
    1 => 'SplDoublyLinkedList',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'reference/spl/datastructures.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/spl.datastructures.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="spl.datastructures" class="part">
 <h1 class="title">データ構造</h1>
<h2>目次</h2><ul class="chunklist chunklist_part"><li><a href="class.spldoublylinkedlist.php">SplDoublyLinkedList</a></li><li><a href="class.splstack.php">SplStack</a></li><li><a href="class.splqueue.php">SplQueue</a></li><li><a href="class.splheap.php">SplHeap</a></li><li><a href="class.splmaxheap.php">SplMaxHeap</a></li><li><a href="class.splminheap.php">SplMinHeap</a></li><li><a href="class.splpriorityqueue.php">SplPriorityQueue</a></li><li><a href="class.splfixedarray.php">SplFixedArray</a></li><li><a href="class.arrayobject.php">ArrayObject</a></li><li><a href="class.splobjectstorage.php">SplObjectStorage</a></li></ul>


 <div class="partintro">
  <p class="para">
   SPL では、標準的なデータ構造を提供しています。
   ここで、それらを実装ごとに分類してまとめます。
  </p>

  <div class="section">
   <h2 class="title">双方向リンクリスト</h2>

   <p class="para">
    双方向リンクリスト (Doubly Linked List: DLL)
    は、双方向のノードへのリンクを持つノードのリストです。
    イテレータの操作、両隣へのアクセス、ノードの追加や削除のコストは、
    データ構造が DLL の場合は O(1) となります。
    これは、スタックやキューを実装するのに適しています。
   </p>

   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara"><span class="classname"><a href="class.spldoublylinkedlist.php" class="classname">SplDoublyLinkedList</a></span></span>
     <ul class="itemizedlist">
      <li class="listitem"><span class="simpara"><span class="classname"><a href="class.splstack.php" class="classname">SplStack</a></span></span></li>
      <li class="listitem"><span class="simpara"><span class="classname"><a href="class.splqueue.php" class="classname">SplQueue</a></span></span></li>
     </ul>
    </li>
   </ul>

  </div>
  <div class="section">
   <h2 class="title">ヒープ</h2>

   <p class="para">
    ヒープは、ツリー風の構造です。ヒープ特有の性質として、
    個々のノードはその子ノードと等しいかそれより大きな値となります。
    値の比較は、ヒープ全体の比較メソッドとして実装されているものを使用します。
   </p>

   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara"><span class="classname"><a href="class.splheap.php" class="classname">SplHeap</a></span></span>
     <ul class="itemizedlist">
      <li class="listitem"><span class="simpara"><span class="classname"><a href="class.splmaxheap.php" class="classname">SplMaxHeap</a></span></span></li>
      <li class="listitem"><span class="simpara"><span class="classname"><a href="class.splminheap.php" class="classname">SplMinHeap</a></span></span></li>
     </ul>
    </li>
    <li class="listitem">
     <span class="simpara"><span class="classname"><a href="class.splpriorityqueue.php" class="classname">SplPriorityQueue</a></span></span>
    </li>
   </ul>

  </div>

  <div class="section">
   <h2 class="title">配列</h2>

   <p class="para">
    配列は、データを連続的に格納してインデックス経由でアクセスできるようにした構造です。
   </p>
   <blockquote class="note"><p><strong class="note">注意</strong>: 
    <span class="simpara">
     PHP の組み込みの <span class="type"><a href="language.types.array.php" class="type array">array</a></span> 型と混同しないようにしましょう。
     PHP の配列は、実際のところ順序つきハッシュテーブルです。
     ただし SPL には、PHP の配列をオブジェクトとして扱うための
     <span class="classname"><a href="class.arrayobject.php" class="classname">ArrayObject</a></span> クラスも用意されています。
    </span>
   </p></blockquote>

   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara"><span class="classname"><a href="class.splfixedarray.php" class="classname">SplFixedArray</a></span></span>
    </li>
   </ul>

  </div>

  <div class="section">
   <h2 class="title">マップ</h2>

   <p class="para">
    マップは、キー/値 のペアからなるデータ構造です。
    PHP の配列は、整数値/文字列を値と対応させたマップとみなすことができます。
    SPL では、オブジェクトとデータを対応させるマップを提供しています。
    このマップは、オブジェクトの集合として扱うことができます。
   </p>

   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara"><span class="classname"><a href="class.splobjectstorage.php" class="classname">SplObjectStorage</a></span></span>
    </li>
   </ul>

  </div>
 </div>

 






 





 






 





 





 





 







 





 






 






</div>
<?php manual_footer($setup); ?>