码迷,mamicode.com
首页 > Web开发 > 详细

php实现链表的基本操作

时间:2018-01-09 11:10:10      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:sed   基本操作   set   public   value   pos   insert   node   body   

<?php  

class node{
    private $value;
    private $next;
    public function __construct($value=0,$next=null){
        $this->value=$value;
        $this->next=$next;
    }
    public function getValue(){
        return $this->value;
    }
    public function setValue($value){
        return $this->value=$value;
    }
    public function getNext(){
        return $this->next;
    }
    public function setNext($next){
        return $this->next=$next;
    }
}
function reverse($node){
    if (null == $node || null == $node->getNext()) {
        return $node;
    }
    $reversednode = reverse($node->getNext());
    $node->getNext()->setNext($node);
    $node->setNext(null);
    return $reversednode;
}
function insert($node,$value,$position){
    $tmp=$node;
    for($i=0;$i<$position;$i++){
        $tmp=$tmp->getNext();
    }
    $insertnode=new node($value);
    $insertnode->setNext($tmp->getNext());
    $tmp->setNext($insertnode);
}
function delete($node,$position){
    $tmp=$node;
    for($i=0;$i<$position;$i++){
        $tmp=$tmp->getNext();
    }
    $tmp->setNext($tmp->getNext()->getNext());
}
echo "<pre>";
$node=new node();
$tmp=$node;
for($i=1;$i<10;$i++){
    $nextnode=new node($i);
    $tmp->setNext($nextnode);
    $tmp=$nextnode;
}
print_r($node);
$node=reverse($node);
insert($node,11,3);
delete($node,3);
print_r($node);
?>

 

php实现链表的基本操作

标签:sed   基本操作   set   public   value   pos   insert   node   body   

原文地址:https://www.cnblogs.com/leedaily/p/8250263.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!