php 栈加密,PHP 数据结构与算法之《栈》_php
发布日期:2022-02-21 12:50:34 浏览次数:34 分类:技术文章

本文共 857 字,大约阅读时间需要 2 分钟。

介绍

“要成高手,必练此功”。

要成为优秀的程序员,数据结构和算法是必修的内容。而现在的web程序员使用传统算法和数据结构都比较少,因为很多算法都是包装好的,不用我们去操心具体的实现细节,如php的取栈操作array_pop,进栈操作array_push,都有指定的库函数,导致我们对基础算法的研究越来越少,最后成为一个工具的傀儡而已。

所以我还是建议更多的coder从基础开始学习。这篇就先讲我们最熟悉的栈操作开始入手,让我们熟悉栈。

0ff00c529f47466980df7e70e4379090.png

栈为何物?

口诀“后进先出”,这是我印象最深的一句话,也是老师一坨讲解中,印象最深刻的。

定义:栈是限制插入和删除都只能发生在一个位置上进行的线性表,该位置是线性表的末端,叫做栈的顶。

过程:先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。

1d1180513d9c72f47c0e7429cc00719d.png

分析

通过定义和过程,我们分析出数据结构(红色标识),动作部分(蓝色标识),以及动作的规则(黄色标识)。

10

请看

34b3a0cfae9a60f5acd0078044ac2ca2.png10

组成成分

数据:线性表(用array结构保存命名为data),末端索引(用int结构保存命名为end,初始值为null——因为开始线性表是没有元素的,所以就没有末端索引这么一说,而且由于不断取数据,添加数据,这个末端是变化的元素。)。

动作(方法):压入(push:规则,放在线性表最后面),弹出(pop:规则,从最后取出,并且末端位置向前移动)。

0618b6715f9d39b371a88d8d5be23875.png

编码

1d6670fccf626b1df8f8649b430e5c43.png10

运行结果

891bb9262fe61c1717876cbb78875263.png

88fbba0bcb5a860647a41f0bf0bd941f.png

总结

以上是本人对栈的分析理解过程,由于我是一名php coder,所以我用php的角度去分析和编码。

如果是c语言去编码,数组应该指定最大宽度,因为C语言数组不像php数组能自行增长,必须要有一个初始宽度。

原文:http://www.cnblogs.com/baochuan/archive/2012/06/02/2530386.html

欢迎大家阅读《PHP 数据结构与算法之《栈》_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

转载地址:https://blog.csdn.net/weixin_33958381/article/details/116222394 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python set 嵌套,如何在Python中设置嵌套对象的属性?
下一篇:oracle+修改表空间状态,oracle查看表空间的属性 ,修改表空间的状态

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年05月05日 14时55分14秒