<?php
class ReadingList
{
protected $stack ;
protected $limit ;
public function __construct( $limit = 10 ) {
$this -> limit = $limit ; }
public function push( $item ) {
if ( count ( $this -> stack ) < $this -> limit ) { throw new RunTimeException( 'Stack is full!' ) ; }
}
public function pop( ) {
if ( $this -> isEmpty ( ) ) {
throw new RunTimeException( 'Stack is empty!' ) ;
} else {
}
public function top( ) {
public function isEmpty( ) {
return empty ( $this -> stack ) ; } }
$stack = new ReadingList( ) ;
$stack -> push ( ) ;
$stack -> push ( ) ;
$stack -> push ( ) ;
$stack -> push ( ) ;
echo $stack -> isEmpty ( ) ;
PD9waHAKY2xhc3MgUmVhZGluZ0xpc3QKewogICAgcHJvdGVjdGVkICRzdGFjazsKICAgIHByb3RlY3RlZCAkbGltaXQ7CiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGxpbWl0ID0gMTApIHsKICAgICAgICAkdGhpcy0+c3RhY2sgPSBhcnJheSgpOwogICAgICAgICR0aGlzLT5saW1pdCA9ICRsaW1pdDsgfQogICAgcHVibGljIGZ1bmN0aW9uIHB1c2goJGl0ZW0pIHsKICAgICAgICBpZiAoY291bnQoJHRoaXMtPnN0YWNrKSA8ICR0aGlzLT5saW1pdCkgewogICAgICAgICAgICBhcnJheV91bnNoaWZ0KCR0aGlzLT5zdGFjaywgJGl0ZW0pOyB9IGVsc2UgewogICAgICAgICAgICB0aHJvdyBuZXcgUnVuVGltZUV4Y2VwdGlvbignU3RhY2sgaXMgZnVsbCEnKTsgfQogICAgfQogICAgcHVibGljIGZ1bmN0aW9uIHBvcCgpIHsKICAgICAgICBpZiAoJHRoaXMtPmlzRW1wdHkoKSkgewogICAgICAgICAgdGhyb3cgbmV3IFJ1blRpbWVFeGNlcHRpb24oJ1N0YWNrIGlzIGVtcHR5IScpOwogICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gYXJyYXlfc2hpZnQoJHRoaXMtPnN0YWNrKTsgfQogICAgfQogICAgcHVibGljIGZ1bmN0aW9uIHRvcCgpIHsKICAgICAgICByZXR1cm4gY3VycmVudCgkdGhpcy0+c3RhY2spOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gaXNFbXB0eSgpIHsKICAgICAgICByZXR1cm4gZW1wdHkoJHRoaXMtPnN0YWNrKTsgfQp9CiRzdGFjayA9IG5ldyBSZWFkaW5nTGlzdCgpOwoJJHN0YWNrIC0+IHB1c2ggKCk7CgkgJHN0YWNrIC0+IHB1c2ggKCk7Cgkkc3RhY2sgLT4gcHVzaCAoKTsKCSRzdGFjayAtPiBwdXNoICgpOwoKZWNobyAkc3RhY2sgLT4gaXNFbXB0eSAoKTs=