Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php内部类,用于表示堆栈、队列、二进制搜索树等中的节点_Php_Algorithm - Fatal编程技术网

php内部类,用于表示堆栈、队列、二进制搜索树等中的节点

php内部类,用于表示堆栈、队列、二进制搜索树等中的节点,php,algorithm,Php,Algorithm,在PHP中创建内部类的有效且安全的方法是什么?我在这里看到过这样的解决方案,但是在算法中使用这种类型的检查对于算法函数的每个节点都需要大量的处理 我一直在使用PHP中的某些算法,在使用PHP创建算法时,这似乎是一个很大的折衷。我可以使node类将所有变量都作为公共变量,但这绝不是一种理想的方法。我没有看到太多的PHP算法示例,我开始怀疑人们是否因为这样的折衷而不使用PHP构建它们?使用提供接口的标准库来实现上述功能如何 ,是一个非常接近于树的表示 在没有更多上下文的情况下,很难评论高效和安全,但

在PHP中创建内部类的有效且安全的方法是什么?我在这里看到过这样的解决方案,但是在算法中使用这种类型的检查对于算法函数的每个节点都需要大量的处理


我一直在使用PHP中的某些算法,在使用PHP创建算法时,这似乎是一个很大的折衷。我可以使node类将所有变量都作为公共变量,但这绝不是一种理想的方法。我没有看到太多的PHP算法示例,我开始怀疑人们是否因为这样的折衷而不使用PHP构建它们?

使用提供接口的标准库来实现上述功能如何

,是一个非常接近于树的表示

在没有更多上下文的情况下,很难评论高效和安全,但是类的安全性仍然是您的责任,可见性关键字可以帮助您做到这一点。

如中所述,在PHP中使用嵌套类是不可能的

PHP对组织使用名称空间,就像Java对包使用名称空间一样。 但是对于封装,PHP中没有这样的构造,因为它不是必需的


节点遍历算法等使用具有getter或公共属性和组合的节点对象。

谢谢,我不想在节点上拥有公共属性,但可能不得不解决这个问题。谢谢,我希望使用我自己的实现,因为它具有更大的灵活性,但是在坚持使用PHP的同时,扩展这些Spl类可能是最明智的方法