加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

解析PHP标准库SPL数据结构

发布时间:2022-07-21 13:01:09 所属栏目:PHP教程 来源:互联网
导读:?php$obj = new SplQueue();//插入一个节点到top位置$obj-enqueue(1); $obj-enqueue(2); ) ) */$obj-offsetSet(0,C);/** SplQueue Object ( [flags:SplDoublyLinkedList:private] = 4 [dllist:SplDoublyLinkedList:private] = Array ( [0] = C [1] = 2 [2] =
  <?php$obj = new SplQueue();//插入一个节点到top位置$obj->enqueue(1);
 
  $obj->enqueue(2);
  
          )
 
   
 
  )
 
  */$obj->offsetSet(0,'C');/**
 
  SplQueue Object
 
  (
 
      [flags:SplDoublyLinkedList:private] => 4
 
      [dllist:SplDoublyLinkedList:private] => Array
 
          (
 
              [0] => 'C'
 
              [1] => 2
 
              [2] => 3
 
          )
 
   
 
  )
 
  */$obj->rewind();//从队列中返回并删除bottom位置的元素$obj->dequeue();/**
 
  'C'
 
   
 
  SplQueue Object
 
  (
 
      [flags:SplDoublyLinkedList:private] => 4
 
      [dllist:SplDoublyLinkedList:private] => Array
 
  
 
 
  $obj = new SplStack();/**
 
  SplStack Object
 
  (
 
      [flags:SplDoublyLinkedList:private] => 6
 
      [dllist:SplDoublyLinkedList:private] => Array
 
          (
 
          )
 
   
 
  )
 
  *///向堆栈放入一个节点到top位置$obj->push(1);
 
  $obj->push(2);
 
  $obj->push(3);/**
 
  SplStack Object
 
  (
 
      [flags:SplDoublyLinkedList:private] => 6
 
      [dllist:SplDoublyLinkedList:private] => Array
 
          (
 
              [0] => 1
 
              [1] => 2
 
              [2] => 3
 
          )
 
   
 
  )
 
  *///堆栈的offset = 0 是Top所在的位置,offset = 1 是top节点靠近bottom位置的相邻节点$obj->offsetSet(0,'C');/**
 
  SplStack Object
 
  (
 
      [flags:SplDoublyLinkedList:private] => 6
 
      [dllist:SplDoublyLinkedList:private] => Array
 
          (
 
              [0] => 1
 
              [1] => 2
 
              [2] => 'C'
 
          )
 
   
 
  )
 
  */$obj->offsetSet(1,'B');/**
 
  SplStack Object
 
  (
 
      [flags:SplDoublyLinkedList:private] => 6
 
      [dllist:SplDoublyLinkedList:private] => Array
 
          (
 
              [0] => 1
 
              [1] => 'B'
 
              [2] => 'C'
 
          )
 
   
 
  )
 
  *///堆栈的rewind使指针指向top节点,而双向链表的rewind指向bottom节点$obj->rewind();//堆栈的next是使指针向bottom方向相邻的节点移动一位,而链表是向top方向移动$obj->next();//遍历堆栈$obj->rewind();while($obj->valid()){    echo $obj->key().'=>'.$obj->current();
 
      $obj->next();
 
  }/**
 
  2=>'C'
 
  1=>'B'
 
  0=>1
 
  *///从堆栈中取出top位置的节点并删除$obj->pop();复制代码
 
  SplDoublyLinkedList 双向链表类
  在这里插入图片描述
 
 
  
  $obj = new SplDoublyLinkedList();//SplDoublyLinkedList Object ( [flags:SplDoublyLinkedList:private] => 0 [dllist:SplDoublyLinkedList:private] => Array ( ) )//把新的节点数据添加到链表的顶部Top$obj->push(1);
 
  $obj->push(2);
 
  $obj->push(3);//把新的节点数据添加到链表底部bottom$obj->unshift(4);/**
 
  SplDoublyLinkedList Object

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读