今天正式加入优快云博客,每天都会记录一点我所学习的内容和一些小心得☺(刚刚进去IT行业的小菜鸟一枚,还是野路子出身,对于这个行业还不是很了解,请大佬们多多指点指点)。
下班利用晚上的时间在B站学习了一下PHP的设计模式,前节讲到了一些数据结构,其实很早就想要学习一下数据结构与算法了,在讲的时候我就认真学习了一下。
栈(Stack)是一种先进后出的数据结构,我们可以用array_push()和array_pop来模拟实现它。
预先定义一个Stack类,我们可以先设定它的最大长度$theMax= 10;和初始长度$length=0;
class Stack{
public static $dataInfo = array();
public static $theMax= 10;
public static $length=0;
public function push($data){
if(self::$length >= self::$theMax){
return false;
}else{
array_push(self::$dataInfo,$data);
self::$length ++;
}
}
}
当初始长度未到达最大长度是每次想数组后添加一个数值,直到增加到最大值为止。这就相当于入栈。
public function pop(){
if(self::$length<=0 ){
return false;
}else{
$data = array_pop(self::$dataInfo);
self::$length --;
return $data;
}
}
当初始长度也就相当于数组当前的长度大于0是每次抛出数组最后一个值,这就相当于出栈。
$stack = new Stack();
$stack->push(1);
$stack->push(2);
echo $stack->pop();
echo $stack->pop();
最后输出的结果就是 2 1
这就是我理解的栈,刚刚接触到数据结构,也只是浅浅的实践一下,希望大家能够一起交流学习!
栈
最新推荐文章于 2025-08-10 08:58:43 发布