2 1 線性表的順序儲存結構

2022-08-01 05:36:12 字數 2248 閱讀 7416

線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表的資料元素。

優點:(1)無需為表中元素之間的邏輯關係而增加額外的儲存空間

(2)可以快速的訪問表中的任一位置的元素

缺點:(1)插入和刪除需要移動大量元素

(2)當線性表長度變化較大時,難以確定儲存空間的容量

(3)造成儲存空間的「碎片」

下面用php實現線性表的順序儲存結構

<?php 

header("content-type:text/html;charset=utf-8");/**

* 順序表基本操作

* *包括

*1.順序表的初始化 __contruct()

*2.清空順序表 clearlist()

*3.根據下標返回順序表中的某個元素 getelement()

*4.在指定位置插入乙個新的結點 listinsert()

*5.在指定的位置刪除元素listdelete() */

class

linner_list

//2.清空順序表 clearlist()

public

function

clearlist()

else}//

3.根據下標返回順序表中的某個元素 getelement()

//將線性表中第i個位置的元素返回,只要i的數值在下標範圍內,就是把陣列第i-1下標的值返回即可

public

function getelement($i

)

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

}//4.插入操作

/** (1) 如果插入位置不合理,丟擲異常

* (2)如果線性表的長度大於陣列長度,則丟擲異常或者動態增加容量

* (3)從最後乙個元素開始向前遍歷到第i個位置,分別將他們都向後移動乙個位置

* (4)將要插入的元素填入i處

* (5)表長加1 */

public

function listinsert($i,$element)

//$this->size ++;

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

else

$this->linner_list[$i-1] = $element

;

$this->size ++;}}

}//5.刪除操作

//刪除線性表中第i個位置的元素,線性表的長度-1

/** (1) 如果刪除位置不合理,丟擲異常

* (2)取出刪除的元素

* (3)從最後乙個元素開始向前遍歷到第i個位置,分別將他們都向後移動乙個位置

* (4)表長減1

*/public

function listdelete($i

)

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

$this->size --;}}

}?>

我們可以來驗證一下我們寫的函式

<?php 

header("content-type:text/html;charset=utf-8");

include 'linear_list.class.php';

$array = array(1,2,3,4,5,6,7,8,9,10);

$size = 10;

$linear_list = new linner_list($array,$size

);//

獲取元素

for ($i=1;$i

<=$size;$i++)

//在第二個位置插入元素66

$linear_list->listinsert(2,66);

print_r($linear_list

);echo "

";

//

刪除第二個元素66

$linear_list->listdelete(2);

print_r($linear_list

); ?>

最後的結果是這樣的

線性表的順序儲存 線性表的順序儲存結構

1,本文實現乙個線性表 2,順序儲存定義 1,線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表中的資料元素 2,在 c 中可以用乙個陣列作為介質來儲存資料元素 3,設計思路 1,可以用一維陣列實現順序儲存結構 1,儲存空間 t m array 2,當前長度 int m length...

線性表 線性表的順序儲存結構

線性表的順序儲存結構 線性結構是乙個資料元素的有序 次序 集。集合中必存在唯一的乙個 第一元素 集合中必存在唯一的乙個 最後元素 除最後元素外,均有唯一的後繼 除第一元素外,均有唯一的前驅。adt list 資料關係 r1 adt list 容易混的概念 引用符號 和引用型操作沒有關係 加工型操作 ...

線性表 線性表的順序儲存結構

include include using namespace std define ok 1 define error 0 define list init size 100 define listincrement 10 typedef int status typedef int elemty...