本篇文章給大家分享的是有關php實現數據結構線性表的方法,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

目前創新互聯公司已為上千家的企業提供了網站建設、域名、網頁空間、網站托管維護、企業網站設計、班戈網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
數據結構bai是計算機存儲、組織數據的方式。數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。
通常情況下,精心選擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索算法和索引技術有關。
數據結構是指相互之間存在著一種或多種關系的數據元素的集合和該集合中數據元素之間的關系組成。記為:Data_Structure=(D,R)
其中D是數據元素的集合,R是該集合中所有元素之間的關系的有限集合。
線性表(linear list)是最基本、最簡單、最常用的一種數據結構。線性表中數據元素之間的關系是一對一的關系,即除了第一個和最后一個數據元素之外,其它數據元素都是首尾相接的,但這只適用大部分線性表,而不是全部。在數據結構邏輯層次上細分,線性表可分為一般線性表和受限線性表。
對于非空的線性表或者線性結構的特點:
(1)存在唯一的一個被稱作“第一個”的數據元素;
(2)存在唯一的一個被稱作“最后一個”的數據元素;
(3)除第一個外,結構中的每個數據元素均只有一個前驅;
(4)除最后一個外,結構中的每個數據元素均只有一個后繼;
線性表結構順序表示(順序表)
概念:用一組地址連續的存儲單元依次存儲線性表的數據元素,這種存儲結構的線性表稱為順序表。
特點:邏輯上相鄰的數據元素,物理次序也是相鄰的。
只要確定好了存儲線性表的起始位置,線性表中任一數據元素都可以隨機存取,所以線性表的順序存儲結構是一種隨機存取的儲存結構,因為高級語言中的數組類型也是有隨機存取的特性,所以通常我們都使用數組來描述數據結構中的順序儲存結構,用動態分配的一維數組表示線性表。
下面是用php來實現數據結構線性表(順序表)的代碼:
<?php
class 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){
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.' ';
}
}
}
}以上就是php實現數據結構線性表的方法,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創新互聯行業資訊頻道。
分享文章:php實現數據結構線性表的方法
網頁網址:http://www.yijiale78.com/article22/jcshcc.html
成都網站建設公司_創新互聯,為您提供App設計、定制開發、網站收錄、網站制作、小程序開發、虛擬主機
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯