要點:
順序表:採用順序儲存結構的線性表
順序儲存結構和鏈式儲存結構不同,強調的是儲存元素在實體地址儲存的上連續!可實現隨機訪問(只要知道第乙個元素的記憶體位址,再通過簡單的加減就能找到任意乙個元素了)
順序表耗時在對移動元素上,進行插入、刪除時都需要移動元素
本人做順序表的難點主要在於對順序表進行插入時,需要多乙個儲存位,同時又要儲存原來的資料 ,詳情請看2的insert(int i, object x)方法。
1、建立介面mylist
主要實現了增、刪、改、查
inte***ce
mylist
2、seqlist類 實現介面
public
class
seqlist
implements
mylist
@override
public
boolean
isempty() else
}@override
public
intsize()
@override
public object get(int i)
if (i < 0 || i > this.length)
return element[i - 1];
}@override
public
void
set(int i, object x)
element[i]=x;
}@override
public
void
insert(int i, object x)
//用param暫時儲存element的值
object param = this.element;
// 由於插入 需要多乙個儲存位 同時長度加1
element = new object[++length];
for (int j = 0; j < param.length; j++)
//插入處向後挪一位
for (int j = element.length - 1; j > i; j--)
element[i] = x;
}@override
public
void
remove(int i)
for (int j = i+1; j 1]= element[j];
}length--;
}@override
public
void
clear()
@override
public string tostring()
string str = "";
for (int i = 0; i < length; i++)
return str;
}public
static
void
main(string args) );
system.out.println("raw :"+sl);
sl.insert(1, "insert");
system.out.println("insert :" + sl);
sl.remove(2);
system.out.println("remove :" + sl);
system.out.println(sl.get(3));
sl.set(2, "set");
system.out.println("remove :" + sl);}}
java資料結構之順序表
1.順序表中按位置隨機訪問的時間複雜度為o 1 2.順序表中的在給定位置插入或者刪除需要移動差不多一半的以上的元素,所以時間複雜度為o n 3.儲存密度 資料占用的儲存量 整個結點占用的儲存量。根據這個公式可以得出順序表的儲存密度為1 所以可以得出以下結論 線性表一般作為查詢頻繁,插入或者刪除比較少...
資料結構之順序表 C 版
include include define maxlistsize 100 預設的儲存空間最大容量 using namespace std typedef string elemtype typedef structsqlist 俗稱順序表 void initlist sqlist l void ...
資料結構(一) 順序表的實現 java版
順序表的方法介面定義 package com.cn.hbut.dao author wickedvalley description 線性表的介面定義 public inte ce definelist 順序表的具體實現 package com.cn.hbut.daoimpl import com....