1st 更新:
以前的時候一直對資料結構懷有一種仰視的態度,最近在看《資料結構與演算法分析》,似乎一下子找到了一些感覺。可能就是一直在想的,應用。這裡結合arraylist和linkedlist理解一下表的資料結構。
主要是自己的一些理解,其中難免由於個人能力理解不準確的地方,所以請以批判的眼光看待
寫作目的並不以科教為主,所以不是那麼通俗易懂
鍊錶的乙個基本概念,節點,在該類中定義為內部類
由此內部類可以看出,linkedlist不是簡單的單鏈表,而是雙向鍊錶,既知前驅又知後繼,因此進行操作的時候需要維護兩個指標
private static class node
}
public e get(int index)
// 獲取index位置的node
nodenode(int index) else
}
linkedlist add元素是新增到該錶的結尾的
public boolean add(e e)
//主要方法在於linklast
void linklast(e e)
public void add(int index, e element)
主要實現就在linkbefore裡面了
void linkbefore(e e, nodesucc)
public linkedlist(collection<? extends e> c)
// ------------addall(c)------------
public boolean addall(collection<? extends e> c)
// --------------addall(size,c)------------------
public boolean addall(int index, collection<? extends e> c) else
//遍歷collection,乙個乙個插入
for (object o : a)
if (succ == null) else
size += numnew;
modcount++;
return true;
}
資料結構 表
抽象資料型別 abstract data type,adt 是一些操作的集合。對諸如表,集合,圖和他們的操作一起 可以看做是抽象資料型別。稱乙個元素前邊的元素其前驅,後邊的為其後繼。不定義首元素的前驅和末元素的後繼。要定義的操作 printlist,makeempty,insert,delete,f...
資料結構 順序表
順序表的特徵 1由唯一的表名標識 2佔據一塊連續的儲存空間 3資料順序存放,元素之間有先後關係 定義動態的順序表 define maxsize 100 typedef struct sqlist 這個結構體型別存放的是順序表的資訊和順序表的資料 初始化順序表 void initsqlist sqli...
資料結構 鍊錶
鍊錶 what 就是一張鏈式儲存的表,是一種資料結構,是基礎,所以還是不要想有什麼用。具體呢?在c中就用結構體實現物件描述,然後通過函式來實現各個基本操作 c 則用類來表述,c中的結構體就可以看成c 中的類,然後通過類封裝各個操作步驟。這些操作實現後就需要 來測試,號稱demo,就是main函式裡面...