php資料結構之順序鍊錶與鏈式線性表示例

2022-10-06 07:51:10 字數 3183 閱讀 2410

鍊錶操作

1、     initlist(l):初始化鍊錶

2、     destroylist(l):刪除連線

3、     clearlist(l):清空鍊錶

4、   &n程式設計客棧bsp; listempty(l):判斷是否為空

5、     listlength(l):鍊錶長度

6、     getelem(l,i):取出元素

7、     locateelem(l,e):判斷e是否在鍊錶中

8、     priorelem(l,i):前驅

9、     nextelem(l,i):後繼

10、   listinsert(l,i,e):插入元素

11、   listdelete(l,i,):刪除元素

順序鍊錶操作

<?php class arraylist

public function initlist()

//刪除鍊錶

public function destorylist()

} //清空鍊錶

public function clearlist()

$this->list=array();

$this->size=0;

} //判斷鍊錶是否為空

public function emptylist()

} //鍊錶長度

public function lenghtlist()

} //取元素

public function getelem($i)

if(isset($this->list)&&is_array($this->list))

} //是否在鍊錶中

public function locateelem($e)

}return 0;

}} //前驅

public function priorelem($i)

if($i==1)

if(isset($this->list)&&is_array($this->list))

} //後繼

public function nextelem($i)

if($i==$this->size)

if(isset($this->list)&&is_array($this->list))

} //插入元素

public function insertlist($i,$e)

if(isset($this->list)&&is_array($this->list))else

$this->list[$i-1]=$e;}}

} //刪除元素

public function deletellist($i)

if(isset($this->list)&&is_array($this->list))else

unset($this->list[$this->size-1]);

}$this->size--;

}} //遍歷

public function printlist()

echo "

"; }

}}?>

鏈式線性表

<?php class linklist

public function initlist()

//刪除鍊錶

public function destorylist()

} //清空鍊錶

public function clearlist()

$this->list=array();

$this->size=0;

$this->head="";

} //判斷鍊錶是否為空

public function emptylist()

} //鍊錶長度

public function lenghtlist()

} //取元素

public function getelem($i)

if(isset($this->list)&&is_array($this->list))

}return $this->list[$tmp]['data'];

}} //是否在鍊錶中

public function locateelem($e)else

}return true;

}} //前驅

public function priorelem($i)

if($i==1)

$tmp=$this->head;

$j=1;

while($i>$j+1)

}return$this->list[$tmp]['data'];

} //後繼

public function nextelem($i)

if($i==$this->size)

$j=1;

$tmp=$this->head;

while($i>=$j)

}return$this->list[$tmp]['data'];

} //插入元素:後插法

public function insertlist($i,$e)else

$j=1;

$tmp=$this->head;

while($i>$j)

}$find=$tmp;

$id=$this->uuid();

if($this->list[$find]['next']==null)else}}

} //刪除元素

public function deletellist($i)

if(isset($this->list)&&is_array($this->list))else

}//找到刪除元素的前驅

$find=$tmp;

//刪除的元素

if($this->list[$find]['next']!=null)else}}

} public function tr**erstlist()

$this->printlist($this->list[$tmp]['data'],false);

} public function printlist($str,$flag)else

} //uuid 唯一碼

public function uuid($prefix = '')

}?>

資料結構 順序表與鍊錶

順序表插入操作 temp seqlist list temp賦值為乙個結構體變數 for i temp length i pos i pos是插入的位置,注意是ta是下標 temp i int node 放新結點 temp length 刪除操作 for int i pos 1 ilength i ...

資料結構 順序表和鏈式表

第一次在csdn上寫東西,心裡有點激動,希望自己可以堅持下去。嘿嘿嘿,算是在csdn上出道了。文章簡單的描述了一下,我在某科上機遇到的一點問題 個人筆記使用,輕噴,附有原始碼,歡迎交流 順序表是採用的連續的儲存結構 結構為 1.表長度 2.指向的資料 3.儲存的空間 可以再分配 typedef st...

資料結構篇 線性結構之順序表與鍊錶

線性表的概念 線性表簡稱表,是零個或多個元素的有窮序列,通常可以表示成 k0,k1,kn 1 n 1 線性表的一些名詞 表目 線性表中的元素 可包含多個資料項,記錄 索引 下標 i 稱為表目 ki 的 索引 或 下標 表的長度 線性表中所含元素的個數 n 空表 長度為零的線性表 n 0 線性表的特點...