java實現單鏈表、棧、佇列三種資料結構
阿新 • • 發佈:2020-10-27
#一、單鏈表
1、在我們資料結構中,單鏈表非常重要。它裡面的資料元素是以結點為單位,每個結點是由資料元素的資料和下一個結點的地址組成,在java集合框架裡面
LinkedList、HashMap(陣列加連結串列)等等的底層都是用連結串列實現的。
2、下面是單鏈表的幾個特點:
資料元素在記憶體中存放的地址是不連續的:單鏈表的結點裡面還定義一個結點,它裡面儲存著下一個結點的記憶體地址,在例項化物件的時候,jvm會開闢不同記憶體空間,並且是不連續的。
新增效率高:新增一個元素時,先找到插入位置的前一個,只需要將1,2個元素的連線斷開,將插入結點的next指向第一個元素的next(1),然後將第一個元素的next指向插入結點(2),
不用在挪動後面元素。
![](https://img2020.cnblogs.com/blog/2038860/202010/2038860-20201027095836958-632961950.png)
刪除效率高:刪除一個元素時,先找到刪除位置,將前一個的next指向刪除位置的next,不用在挪動後面元素。
![](https://img2020.cnblogs.com/blog/2038860/202010/2038860-20201027095437096-1442225128.png)
查詢效率低:查詢的時候必須從頭開始,依次遍歷,而陣列因為它的記憶體是連續的,可以直接通過索引查詢。
3、下面通過程式碼來實現單鏈表結構:
```java
package com.tlinkedList;
/**
* User:zhang
* Date:2020/10/26
**/
public class TLi