線性表陣列實現

2021-10-09 07:55:24 字數 2284 閱讀 4452

線性表

順序表示(用陣列實現,比較簡單)

線性表的順序表示指的是用一組位址連續的儲存單元一次儲存線性表的資料元素,在高階語言程式設計中,陣列具有隨機訪問的特性,因此通常都用陣列來描述資料結構中的順序儲存結構,對於線性表,可以用一維陣列來實現

1. 順序表的初始化

/**

*定義乙個object型別的陣列,可儲存任意型別的資料

*然後對其初始化

*/private object [

] obj;

private

int index;

public

mycoll()

public

mycoll

(int size)

新增元素

/**

* 先判斷是否需要擴容,在新增元素

*/public

boolean

add(e e)

obj[index++

]= e;

return

true

;}

3.插入元素
/*

* 先判斷下標是否越界,在看是否需要擴容,在進行插入,插入的思想就是把陣列當中的某些元素向後移動

*/public

void

add(

int n,e e)

if(index >=obj.length)

obj = o2;

}for

(int i=

this

.index;i>n;i--

) obj[n]

= e;

index++

;}

4.獲取元素

/*

* 根據下標獲取

*/public e get

(int n)

return

(e) obj[n]

;}

5.獲取數值的下標

/*

* 根據元素數值逐一和陣列元素中的值進行對比,如果陣列當中有此數值,則直接返回,否則返回-1

*/public

intindexof

(e e)

}return-1

;}

6.根據下標刪除元素
public

boolean

remove

(int n)

for(

int i=n;i) index--

;return

true

;}

7.根據數值刪除元素
/*

* 先獲取數值的下標,呼叫之前寫的方法,得到下標,再判斷下標,在進行刪除

*/public

boolean

remove

(e e)

for(

int i=n;i) index--

;return

true

;}

8.判斷順序表是否為空

/*

* index就是陣列當中所存的元素的數量

*/public

boolean

isempty()

9.刪除順序表中的所有元素

public

boolean

clear()

return

true

;}

10.獲取順序表的所有元素

public

intsize()

11.遍歷

/*

* 遍歷**

* itertor it = m1.itertor();

while(it.hasnext())

首先將返回的iterator賦給itertor,然後呼叫hasnext()方法檢視下乙個元素是否存在,再返回資料

*/public itertor itertor()

public

class

itertor

public e next()

}

線性表 陣列實現

include include includeusing namespace std define ms a memset a,0,sizeof a define maxlength 100 線性表陣列實現,定義乙個具有兩個域結構體,陣列下標為0的地方不存放元素,可以使位置i對應整數i 第乙個域是陣...

用陣列實現線性表

對於線性結構,有兩種儲存的方法,一種是使用 c語言中內建的陣列,這樣的結構成為 順序表 另一種使用指標,這樣的結構成為鍊錶。對於線性結構,有12種基本的操作,分別是 初始化 刪除順序表 清空順序表 判斷是否為空 遍歷 求表的長度 求某個元素在表中的位置 返回特定序號的元素 求某個元素的前乙個元素 求...

線性表之陣列實現

因為線性表的順序儲存結構是一種隨機訪問的儲存結構,同時線性表的長度可變,且所需最大儲存空間隨問題不同而不同,則在c語言中,用動態分配的一維陣列來實現。下面是線性表的動態分配順序儲存結構 typedef struct sqlist 該程式採用選單和結構體陣列,這樣方便測試每個功能的實現。同時將類c 轉...