功能梳理:插入 、查詢 、刪除 。
**的實現:
1.首先還是定義乙個介面:
/**
* 線性表規範
*/public inte***ce sequence
2.鍊錶的初始化:
public class sequencelinkedimpl implements sequence
node(object data)
}
3.插入,刪除,查詢等操作的實現:
@override
public void add(object data)
@override
public boolean remove(int index)
//取得當前結點
node cur = node(index);
pre.next = cur.next;
//清空當前結點
cur.next = cur = null;
size--;
return true;
}@override
public object get(int index)
@override
public boolean contains(object data)
}}else }}
return false;
}@override
public object set(int index, object newdata)
@override
public int size()
@override
public void clear()
}@override
public object toarray()
return results;
}//在指定結點位置插入新結點;
public void add(int index,object data)
}//取得指定索引結點:
private node node (int index)
return temp;}}
對於單鏈表而言,功能和前面的順序表功能基本相同,只是底層**的一些不同而已,兩者就是效能上有一些差異。
單鏈表的分析:
優點: 1.長度不固定兩可以隨意增刪;2.儲存空間不需要連續;3. 指定資料元素之前之後插入和刪除元素不需要移動其他元素。
缺點: 不支援隨機查詢。
在鍊錶中還存在一種迴圈鍊錶 --- 約瑟夫環。
特點是 :尾節點不指向null,而指向頭節點。這樣就可以方便找打頭節點。
資料結構 單鏈表實現
線性表的鏈式儲存結構的特點是用一組任意的儲存單元儲存線性表的資料元素 這組儲存單元可以是連續的,也可以是不連續的 因此,為了表示每個資料元素與其直接後繼資料元素之間的邏輯關係,對資料元素來說,除了儲存其本身的資訊之外,還需儲存乙個指示其直接後繼的資訊 即直接後繼的儲存位置 這兩部分資訊組成資料元素的...
資料結構 單鏈表實現
在鏈式儲存中,節點之間的儲存單元位址可能是不連續的。鏈式儲存中每個結點都包含兩部分 儲存元素本身的資料域和儲存結點位址的指標域。結點中的指標指向的是下乙個結點,也就是儲存的下乙個結點的位址。1.建立鍊錶 在建立鍊錶時,頭結點不儲存資料,但可以儲存鍊錶的資訊。struct header 儲存資料的結點...
資料結構 單鏈表實現
package list public class singlelinkedlist private class node public node object data 頭插法 public void headinsert object data 尾插法 public void tailinser...