当前位置:编程学习 > php >>

单链表crud操作之_水浒英雄排行算法_学习笔记_源代码图解_PPT文档整理

 
singleLink.php
 
[php]  
<html>  
    <head>  
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
    </head>  
    <body>  
        <h1>单向链表完成英雄排行管理</h1>  
        <hr/>  
        <a href="#">查询英雄</a>  
        <a href="#">添加英雄</a>  
        <a href="#">删除英雄</a>  
        <a href="#">修改英雄</a>  
          
        <?php  
            //首先需要基础知识。知道什么是变量,有一些面向对象编程基础。  
            //知道三大控制语句 if for while  
              
            //定义英雄类  
            class Hero{  
                public $no;//排名  
                public $name;//真实名字  
                public $nickname;//外号  
                public $next=null;//$next是一个引用,指向另外一个Hero的对象实例。  
  
                //构造函数  
                public function __construct($no='',$name='',$nickname=''){  
                    //赋值  
                    $this->no=$no;  
                    $this->name=$name;  
                    $this->nickname=$nickname;  
                }  
            }  
            //创建一个head头,该head只是一个头,不放入数据  
            $head=new Hero();  
  
            //创建一个英雄  
            $hero=new Hero(1,'宋江','及时雨');  
  
            //链接  
            $head->next=$hero;  
  
            $hero2=new Hero(2,'卢俊义','玉麒麟');  
            //链接  
            //现在使用的是比较二的方法,马上改进,这样是为了方便理解  
            $hero->next=$hero2;  
  
            //单链表的遍历,必须要从head头节点开始找  
            //是从head开始遍历的,$head头的值千万不能变,变化后就不能遍历我们的单链表了  
            function showHeros($head){  
                //遍历[必须要知道什么时候,到了链表的最后]  
                //这里为了不去改变$head的指向,我们可以使用一个临时的变量  
                $cur=$head;  
                while($cur->next!=null){  
                    //第一个节点为头结点,所以用$cur->next指向下一个节点,头结点里什么都没有是空的  
                    echo'<br/>英雄的编号是'.$cur->next->no.'名字'.$cur->next->name.'外号='.$cur->next->nickname;  
                    //如果只写到这里,就会是死循环了  
                    //所有要让$cul移动  
                    $cur=$cur->next;  
                }  
            }  
  
            echo'<br/>***********当前的英雄排行情况是**************';  
            showHeros($head);  
  
  
        ?>  
    </body>  
</html>  
在上面的代码中,添加英雄的时候用的一个比较笨的方法,现在用一个比较好的方法做添加工作。
1.直接在链表最后加
 
singleLink2.php
[php]  
<html>  
    <head>  
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
    </head>  
    <body>  
        <h1>单向链表完成英雄排行管理</h1>  
        <hr/>  
        <a href="#">查询英雄</a>  
        <a href="#">添加英雄</a>  
        <a href="#">删除英雄</a>  
        <a href="#">修改英雄</a>  
          
        <?php  
            //定义英雄类  
            class Hero{  
                public $no;//排名  
                public $name;//真实名字  
                public $nickname;//外号  
                public $next=null;//$next是一个引用,指向另外一个Hero的对象实例。  
  
                //构造函数  
                public function __construct($no='',$name='',$nickname=''){  
                    //赋值  
                    $this->no=$no;  
                 
补充:Web开发 , php ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,