Java 資料結構之單鏈表

2021-09-10 10:16:30 字數 1489 閱讀 8952

之前好像寫過一次單鏈表,好吧,不只一次了,每次寫到單鏈表就做其他的事情,然後想學資料結構的時候又要從單鏈表開始寫,就像背單詞每次都被abandon一樣。

單鏈表是幾天前寫的了,可能有一些錯誤,在這裡也先不修改了,因為覺得操作和後面要整理的雙端鍊錶還有迴圈鍊錶大同小異。先把**粘上來吧,因為怕拖著拖著就越來越懶得整理。

package linklist;

/* * 定義乙個鍊錶

* 頭插法、尾插法、插入、刪除等操作

*/public class singlelink

/* * 判斷鍊錶是否為空

*/public boolean isempty()

/* * 頭插法

*/public void insertfirst(object d)

/* * 尾插法

*/public void tailadd(object d)

temp.next = newnode; }

/** 刪除第乙個節點

*/public object deletefirst()

/* * 在任意位置插入

*/public void insertany(int i, object d)

//遍歷鍊錶

//插入或者計算長度需要迴圈到最後乙個節點,對最後乙個節點進行操作,

//而不是最後current為最後乙個節點就好

while(current != null)

length++;

current = current.next;

} }

/* * 刪除任意節點

*/public object deleteany(int i)

while(current.next != null)

current = current.next;

length++;

} }public void delnode(int index)

//步驟跟insertnodebyindex是一樣的,只是操作不一樣。

int length=1;

linknode temp = first;

while(temp.next != null)

temp = temp.next;

}

}/* * 計算單鏈表的長度

*/public int length()

return length; }

/** 列印鍊錶

*/public void displaylist()

system.out.println(); }

/** main函式

*/public static void main(string args) }/*

* 節點定義

*/class linknode

public void displaylink()

}

java資料結構之單鏈表

在單鏈表中對表頭進行插入或者刪除時,時間複雜度為o 1 單鏈表查詢指定節點時因為要進行迴圈查詢,平均需要查詢n 2次,所以時間複雜度為o n 儲存密度 資料占用的儲存量 整個結點占用的儲存量。根據這個公式可以得出單鏈表的儲存密度為大於1,在空間利用率上面比順序表要差 所以可以得出以下結論 單鏈表一般...

java資料結構之單鏈表

一 單鏈表的結點結構 node類 package data public class node public int getdata public void setdata int data public node getnext public void setnext node next 測試類 ...

Java資料結構 單鏈表

鍊錶是一種資料結構,和陣列同級。鍊錶在進行迴圈遍歷時效率不高,但是插入和刪除時優勢明顯。單鏈表結構 單鏈表就相當於從頭結點開始,每乙個節點只要記錄下一節點,就把所有資料串了起來,形成了乙個單向鍊錶。各個節點的儲存可以是分散的。頭插法 尾插法 entry entry new entry val 建立要...