购买流程 付款方式 常见问题 在线提问  续租服务  购物车
首页 域名注册 虚拟主机 成品网站 企业邮局 服务器租用 VPS主机 云主机 智能建站 代理专区 客户中心
用户登陆
           首页公告
           常见问题
           有问必答
           跟踪提问
           购买流程
           付款事宜
           汇款确认
           相关文档
           联系我们



php实现数据结构之“栈”

 



php实现数据结构之“栈”
    

“栈”这种数据结构是最普通的一种数据结构,他的特点就是:限制插入和删除都只能发生在一个位置上进行的线性表,该位置是线性表的末端,叫做栈的顶。

下面我把自己的实现代码放上来,代码很短,关键的地方都加了注释,这样,大家都看得懂。

<?php
//

/**
* 数据结构之“栈”实现 by jroam http://www.10np.com
*/

class zhan{
private $_data=array();//定义栈存放的数据
private $_end=null;//最后一个元素 的索引 因为初始时是没有值的,所以为null

/**
* 放进来一个数据,如果还没有值的话,就把第一个值的索引值设为0
* 如果是后面放一个进来,那么索引值就自动加1
*/
public function push($data){
if(empty($this->_data)){
$this->_end=0;
}
else{
$this->_end++;
}

$this->_data[$this->_end]=$data;
}

/**
* 从最后面取出一个元素
* */
function pop(){
if(empty($this->_data)) return false;
$gertd= $this->_data[$this->_end];
array_splice($this->_data,$this->_end);//删除这个已经拿走了的数据。
$this->_end--;//索引自动减小为1
return $gertd;
}

/**
* 返回所有的元素
*/
function getAlldata(){
return $this->_data;
}

}


$mm=new zhan();
$mm->push("张三");
$mm->push("李四");

echo "".$mm->pop()."<br>";
?>



返回首页 |关于我们 | 联系我们 | 付款方式 | 广告联盟 | 有问必答
版权所有 西部数码代理,西数代理,vps_空间优惠,网站性能优化·严禁复制
在线客服: 点击发送消息给对方3528938
服务热线:18382390188 传真:028-86264041
信息反馈:业务咨询 技术问题 问题投诉 《中华人民共和国增值电信业务经营许可证》川B2-20030065号
友情链接:美美哒网