修炼内功---数据结构与算法5---栈

修炼内功---数据结构与算法5---栈,第1张

概述本文章向大家介绍修炼内功---数据结构算法5---栈,主要包括修炼内功---数据结构与算法5---栈使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

/**

* 通过 PHP 数组实现简单的顺序栈

*/

class SimpleStack

{

private $_stack = [];

private $_size = 0;

public function __construct($size = 10)

{

$this->_size = $size;

}

// 获取栈顶元素

public function pop()

{

// 空栈

if (count($this->_stack) == 0) {

return false;

}

//array_pop() d出并返回 array 数组的最后一个单元,并将数组 array 的长度减一

//Note: 使用此函数后会重置(reset())array 指针。

//如果 array 是空(如果不是一个数组),将会返回 NulL

return array_pop($this->_stack);

}

// 推送元素到栈顶

public function push($value)

{

// 满栈

if (count($this->_stack) == $this->_size) {

return false;

}

//array_push() 将 array 当成一个栈,并将传入的变量压入 array 的末尾。array 的长度将根据入栈变量的数目增加。

//Note: 如果用 array_push() 来给数组增加一个单元,还不如用 $array[] = ,因为这样没有调用函数的额外负担。

//返回处理之后数组的元素个数

array_push($this->_stack,$value);

return true;

}

public function isEmpty()

{

// 是否是空栈

//这个写法很优雅

return current($this->_stack) == false;

}

public function size()

{

return count($this->_size);

}

}

$stack = new SimpleStack(15);

var_dump($stack->isEmpty()); # true

$stack->push(111);

$stack->push('学院君');

var_dump($stack->pop()); # 学院君

var_dump($stack->size()); # 1

总结

以上是内存溢出为你收集整理的修炼内功---数据结构与算法5---栈全部内容,希望文章能够帮你解决修炼内功---数据结构与算法5---栈所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1264907.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存