之前好像寫過一次單鏈表,好吧,不只一次了,每次寫到單鏈表就做其他的事情,然後想學資料結構的時候又要從單鏈表開始寫,就像背單詞每次都被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 建立要...