美文网首页
数据结构

数据结构

作者: 散装咖啡 | 来源:发表于2017-03-04 01:21 被阅读16次

//环型链表 数据结构

class CircleLink{

public $number;

public $next=null;

public function __construct($number){

$this->number=$number;

}

}

//添加对象

function addCircle($n){

$cur=null;

$first=null;

for($i=1;$i<=$n;$i++){

$child=new CircleLink($i);

//说明是第一个对象

if($i==1){

$first=$child;

$first->next=$first;//这里为什么要写这句呢,大家想想,如果不写这句话,

//如果只创建一个对象,怎么办,那么他就不是环型链表了,所以写这句话,就是你创建一个

//对象也是环型链表,我让他自己指向自己,这样也是一个圆环呀,其实也可以不写的。

$cur=$child;

}else{

$cur->next=$child;

$child->next=$first;

$cur=$cur->next;

}

}

return $first;

}

//查看环型链表

function showCircle($first){

$cur=$first;//这里使用了一个巧妙的方法,把first再赋值给一个临时对象

while($cur->next!=$first){

echo $cur->number."《br /》";

$cur=$cur->next;

}

echo $cur->number;

}

function countCircle($first,$m=1,$k=2){

$cur=$first;

while($cur->next!=$first){

$cur=$cur->next;

}

for($i=0;$i<$m-1;$i++){

$cur=$cur->next;

$first=$first->next;

}

//退出循环说明,$cur指向是最后一个对象

//循环一个,执行两句代码,即循环一下,数2个数

while($cur!=$first){

for($n=0;$n<$k-1;$n++){

$cur=$cur->next;

$first=$first->next;

}

echo "要出圈的小孩是:".$first->number."《br /》";

$cur->next=$first->next;

$first=$cur->next;

}

echo "最后一个人是:".$cur->number."《br /》";

}

echo "《meta http-equiv='content-Type' content='text/html;charset=utf-8'/》";

$first=null;

$first=addCircle(5);

showCircle($first);

echo "《br /》";

countCircle($first,1,2);

参考文章 http://blog.sina.com.cn/s/blog_bd418dfa0102vmv1.html

相关文章

  • IOS开发_数据结构

    1、数据结构; 2、算法; 3、数据结构与算法; 1、数据结构; 1.1 概念: 数据结构:数据结构是计算...

  • py基础

    5Python集合容器 数据结构数据结构 一般将数据结构分为两大类: 线性数据结构和非线性数据结构。 线性数据结构...

  • 思维导图之数据结构+算法

    数据结构+算法 = 程序 数据结构比较 参考文章 数据结构与算法数据结构与算法(java)

  • 数据结构与算法分析:大纲]

    00数据结构与算法分析:大纲01数据结构:数组02数据结构:链表03数据结构:栈03数据结构:队列 本系列课程主要...

  • 数据结构:数组

    00数据结构与算法分析:大纲01数据结构:数组02数据结构:链表03数据结构:栈03数据结构:队列 数组 数组是一...

  • 数据结构—概述

    数据结构概述 数据结构概述:程序设计 = 数据结构 + 算法数据结构:数据元素之间存在所有特定关系的集合,数据结构...

  • OVS 源码分析整理

    OVS 核心代码 OVS 架构 OVS 主要的数据结构数据结构关系图主要的数据结构和数据结构的参数数据结构代码 d...

  • 01. 数据结构与算法绪论

    一、数据结构 1. 什么是数据结构 2. 数据结构的分类 3. 常用的数据结构 4. 数据结构的应用表现 二、算法...

  • 数据结构与算法 - 查找

    数据结构与算法系列文章数据结构与算法 - 时间复杂度数据结构与算法 - 线性表数据结构与算法 - 树形结构数据结构...

  • C#之数据结构(上)

    数据结构 一般将数据结构分为两大类: 线性数据结构和非线性数据结构。 线性数据结构有: 线性表、栈、队列、串、数组...

网友评论

      本文标题:数据结构

      本文链接:https://www.haomeiwen.com/subject/plddgttx.html