數據結構的四種邏輯結構: 集合, 線性, 樹形, 網狀
linearity = ( D , R )
D = { a1, a2, a3, a4}
R = { <a1,a2> , <a2,a3> , <a3,a4>}
a1元素稱為第一個元素, 其他的元素都有一個直接前驅, a4元素稱為最后一個元素, 其他的元素都有一個直接后繼
生活中的線性結構: 排隊
ADT List {
數據對象: D = {ai 屬于某個數據類型, i=0,1,2,3...}
D = { a0, a1, a2, a3, a4... an}, 所有的元素都是同一個數據類型
數據關系: R= { <ai, ai+1>}
數據操作:
getSize(): 返回線性表中元素的個數
isEmpty(): 判斷線性表是否為空, 線性為空返回true,否則返回false
insert( i , e ) : 在線性表的i索引值位置插入元素e, 如果索引值i越界報錯
contains(e): 在線性表中判斷是否存在元素e,存在返回true,
indexOf(e) : 返回元素e在線性表中的索引值, 如果不存在元素e返回-1
remove( e) : 刪除線性表中第一個與e相同的元素, 刪除成功返回刪除的元素
remove( i ) : 刪除線性表中指定索引值的元素,返回刪除的元素, 如果索引值i越界報錯
replace( i , e): 把純性表中索引值 為i 的元素替換為元素e, 如果索引值i越界報錯
get( i): 返回線性表中索引值為i的元素, 如果索引值i越界報錯
insertBefore( p , e): 在線性表中元素p的前面插入元素e
insertAfter( p, e) : 在線性表中元素p的后面插入元素e
}List;
抽象數據類型可以對應的一個Java類, 數據對象與元素之間的關系 可以通過成員變量來存儲和表示;數據操作可以通過一組方法來實現