|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
只要实现最基本的功能就可以了就是可以添加留言然后可以显示留言,然后加入管理功能双向链表复制代码<?php//双向链表classHero{public$pre=null;//前指针public$no;//排名public$name;//名字public$next=null;//后指针/***机关函数,声名链表头*/publicfunction__construct($no=,$name=){$this->no=$no;$this->name=$name;}/***拔出*/staticpublicfunctionaddHero($head,$hero){$cur=$head;$isExist=false;//判别今朝这个链表是不是为空if($cur->next==null){$cur->next=$hero;$hero->pre=$cur;}else{//假如不是空节点,则布置名来增加//找到增加的地位while($cur->next!=null){if($cur->next->no>$hero->no){//假如年夜于了排名,跳出break;}elseif($cur->next->no==$hero->no){//假如即是排名,则代表有这个元素了$isExist=true;echo"<br>不克不及增加不异的编号";}$cur=$cur->next;}if(!$isExist){//假如元素不存在,实行拔出操纵if($cur->next!=null){$hero->next=$cur->next;}$hero->pre=$cur;if($cur->next!=null){$hero->next->pre=$hero;}$cur->next=$hero;}}}//遍历staticpublicfunctionshowHero($head){$cur=$head;while($cur->next!=null){echo"<br>编号:".$cur->next->no."名字:".$cur->next->name;$cur=$cur->next;}}staticpublicfunctiondelHero($head,$herono){$cur=$head;$isFind=false;while($cur!=null){if($cur->no==$herono){$isFind=true;break;}//持续找$cur=$cur->next;}if($isFind){if($cur->next!=null){$cur->next_pre=$cur->pre;}$cur->pre->next=$cur->next;}else{echo"<br>没有找到方针";}}}$head=newHero();$hero1=newHero(1,1111);$hero3=newHero(3,3333);$hero2=newHero(2,2222);Hero::addHero($head,$hero1);Hero::addHero($head,$hero3);Hero::addHero($head,$hero2);Hero::showHero($head);Hero::delHero($head,2);Hero::showHero($head);?>复制代码双向链表的拔出操纵表示图:if($cur->next!=null)$hero->next=$cur->next;$hero->pre=$cur;if($cur->next!=null)$hero->next->pre=$hero;$cur->next=$hero;QQ截0140706152241删除操纵表示图:if($cur->next!=null)$cur->next->pre=$cur->pre;$cur->pre->next=$cur->next;QQ截0140706152857栈复制代码<?phpclassmyStack{private$top=-1;private$maxSize=5;private$stack=array();publicfunctionpush($val){if($this->top==$this->maxSize){echo"<br>已满了";}$this->top++;$this->stack[$this->top]=$val;}publicfunctionshowStack(){if($this->top==-1){echo"<br>栈为空!";return;}for($i=$this->top;$i>-1;$i--){echo"<br>stack[".$i."]=".$this->stack[$i];}}publicfunctionpop(){if($this->top==-1){echo"<br>栈为空!";return;}$val=$this->stack[$this->top];$this->top--;echo"<br>弹出".$val;}}$mystack=newmyStack;$mystack->push(111);$mystack->push(222);$mystack->showStack();$mystack->pop();$mystack->pop();?>复制代码栈(Stack):是限定在表的一端举行拔出和删除操纵的线性表。又称为落后先出LIFO(LastInFirstOut)或先辈后出FILO(FirstInLastOut)线性表。栈在盘算机的完成有多种体例:硬仓库:使用CPU中的某些存放器组或相似的硬件或利用内存的特别地区来完成。这类仓库容量无限,但速率很快;软仓库:这类仓库次要在内存中完成。仓库容量能够到达很年夜。在完成体例上,又有静态体例和静态体例两种栈顶(Top):同意举行拔出、删除操纵的一端,又称为表尾。用栈顶指针(top)来唆使栈顶元素。栈底(Bottom):是流动端,又称为表头。空栈:当表中没有元素时称为空栈。栈的链式存储布局称为链栈,是运算受限的单链表。其拔出和删除操纵只能在表头地位长进行。因而,链栈没有需要像单链表那样附加头结点,栈顶指针top就是链表的头指针。固然,php中的数组API内里带的有push和pop函数。完成一个功能齐全的动态站点 |
|