1.線性結構
2.線性表抽象資料型別
3.順序表
4.順序表應用如果乙個資料元素序列滿足:
1.除第乙個和最後乙個資料元素外,每個資料元素只有乙個前驅資料元素和乙個後繼資料元素;
2.第乙個資料元素沒有前驅資料元素;
3.最後乙個資料元素沒有後繼資料元素。
則稱這樣的資料結構為線性結構線性表抽象資料型別主要包括兩個方面: 既資料集合和該資料集合上的操作集合。
資料集合可以表示為a0,a1,a2…an-1,每個資料元素的資料型別可以是任意的型別
操作集合包括如下:
1.求元素個數 2. 插入 3.刪除 4.查詢 5.判斷是否為空
// 線性表介面
public
inte***ce
list
計算機有兩種基本的儲存結構:順序結構、離散結構。使用順序表結構實現的線性表稱為順序表。
// 順序錶類
public
class
sequencelist
implements
list
public
sequencelist
(int size)
// 順序表初始化長度
private
void
init
(int size)
@override
public
intsize()
@override
public
boolean
isempty()
@override
public
void
insertindex
(int index, object obj)
throws exception
// 插入位置編號是否合法
if(index <
0&& index > maxsize)
// 移動元素 從後向前移動
for(
int j = size; j > index; j--
)// 講元素插入
listarray[index]
= obj;
size++;}
@override
public
void
insert
(object object)
throws exception
listarray[size]
= object;
size++;}
@override
public
void
delete
(int index)
throws exception
if(index <
0&& index > size -1)
// 移動元素
for(
int j = index; j < size -
1; j++
) size--;}
@override
public object get
(int index)
throws exception
return listarray[index];}
}
testpublic
static
void
main
(string[
] args)
throws exception
}
順序表插入和刪除乙個元素的時間複雜度為o(n).
順序表支援隨機訪問,順序表讀取乙個元素的時間複雜度為o(1).
順序表的優點是:支援隨機訪問,空間利用率高。
順序表的缺陷是:大小固定,插入和刪除元素需要移動大量的資料。設計乙個順序表,用來儲存學生資料
要完成這個只需要再設計乙個學生類就行了
// 學生類
public
class
students
public
students
(string sid, string name, string gender,
int age)
@override
public string tostring()
';}.
..getter.setter...
}
testpublic
static
void
main
(string[
] args)
throws exception
}
線性結構之順序表
線性表的順序儲存結構稱為順序表 sequential list 其基本思想為用一段位址連續的儲存單位依次儲存線性表的資料元素。具有隨機儲存的特點。下面為順序表的實現 includeusing namespace std const int maxsize 100 根據實際問題定義 template ...
線性表 順序結構
線性表分為順序儲存結構和鏈式儲存結構 順序結構 接下來看線性表順序儲存的結構 define maxsize 20 typedef int elemtype typedef struct sqlist include define maxsize 20 define ok 1 define error...
線性表線性(順序)儲存結構
實現順序表的曾刪查操作 元素結構體 define maxsize 100 線性表的最大長度 typedef int elemtype elemtype為線性表元素的型別 typedef struct sequenlist 插入操作 bool insertinseqlist sequenlist l,...