• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

数据结构线性表代码

php 搞代码 4年前 (2022-01-04) 47次浏览 已收录 0个评论

数据结构线性表代码

线性表是n个数据特性相同的元素的组成有限序列,是最基本且常用的一种线性结构(线性表,栈,队列,串和数组都是线性结构),同时也是其他数据结构的基础。

对于非空的线性表或者线性结构的特点:

(1)存在唯一的一个被称作“第一个”的数据元素;

(2)存在唯一的一个被称作“最后一个”的数据元素;

(3)除第一个外,结构中的每个数据元素均只有一个前驱;

(4)除最后一个外,结构中的每个数据元素均只有一个后继;

线性表结构顺序表示(顺序表)

概念:用一组地址连续的存储单元依次存储线性表的数据元素,这种存储结构的线性表称为顺序表。

特点:逻辑上相邻的数据元素,物理次序也是相邻的。

只要确定好了存储线性表的起始位置,线性表中任一数据元素都可以随机存取,所以线性表的顺序存储结构是一种随机存取的储存结构,因为高级语言中的数组类型也是有随机存取的特性,所以通常我们都使用数组来描述数据结构中的顺序储存结构,用动态分配的一维数组表示线性表。

下面是用php来实现数据结构线性表(顺序表)的代码:

<?phpclass ArrayList{    private $list;    private $size;    public function __construct()    {        $this->list=array();        $this->size=0;    }    //初始化链表    public function InitList(){        $this->list=array();        $this->size=0;    }    //删除链表    public function destoryList(){        if (isset($this->list)){            unset($this->list);            $this->size=0;        }    }    //清空链表    public function clearList(){        if (isset($this->list)){            unset($this->list);        }        $this->list=array();        $this->size=0;    }    //判断链表是否为空    public function emptyList(){        if (isset($this->list)){            if ($this->size==0){                return true;            }else{                return false;            }        }    }    //链表长度    public function lengthList(){        if (isset($this->list)){            return $this->size;        }else{            return false;        }    }    //取元素    public function getElem($i){        if ($i<1||$i>$this->size){            die('failed');        }        if (isset($this->list)&&is_array($this->list)){            return $this->list[$i-1];        }    }    //是否在链表中    public function locateElem($e){        if (isset($this->list)&&is_array($this->list)){            for ($i=0;$i<$this->size;$i++){                if ($this->list[$i]==$e){                    return $i+1;                }                return 0;            }        }    }    //前驱    public function priorElem($i){        if ($i<1||$i>$this->size){  <strong style="color:transparent">来源gaodai#ma#com搞@@代~&码网</strong>          die('failed');        }        if ($i==1){            die('no prior');        }        if (isset($this->list)&&is_array($this->list)){            return $this->list[$i-2];        }    }    //后继    public function nextElem($i){        if ($i<1||$i>$this->size){            die('failed');        }        if ($i==$this->size){            die('no next');        }        if (isset($this->list)&&is_array($this->list)){            return $this->list[$i];        }    }    //插入元素    public function insertList($i,$e){        if ($i<1||$i>$this->size){            die('failed');        }        if (isset($this->list)&&is_array($this->list)){            if ($this->size==0){                $this->list[0]=$e;                $this->size++;            }else{                for($j=$this->size-1;$j>=$i;$j--){                    $this->list[$j]=$this->list[$j-1];                }                $this->list[$i-1]=$e;                $this->size++;            }        }    }    //删除元素    public function deleteList($i){        if ($i<1||$i>$this->size){            die('failed');        }        if (isset($this->list)&&is_array($this->list)){            if ($i==$this->size){                unset($this->list[$i-1]);            }else{                unset($this->list[$i-1]);                for ($j=$i;$j<$this->size;$j++){                    $this->list[$j-1]=$this->list[$j];                }            }            $this->size--;        }    }    //遍历    public function printList(){        if (isset($this->list)&&is_array($this->list)){            foreach ($this->list as $value) {                echo $value.' ';            }        }    }}

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:数据结构线性表代码

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址