在有序鍊錶中,資料都是按照關鍵字有序排列的,類似於有序陣列,但是有序鍊錶的插入速度比有序陣列要快的多,而且鍊錶的儲存空間可以擴充套件,而陣列的儲存空間則是不可擴充套件的,這也是優勢之一;缺點是實現困難。
插入和刪除某一結點,需要使用find();delete();方法。
其中,在鍊錶移動的時候,需要加乙個previous引用,要把previous設為null,這樣方便判斷previous是否還在表頭。
舉例:public class sortedlista
}class link
public void displaylink()
}class sortedlist
public boolean isempty()
public void insert(long key)
if(previous==null)
else
previous.next=newlink;
newlink.next=current;
}public link remove()
public void displaylist()
system.out.println(" ");}}
輸出結果:
list (first->last):
20 50
list (first->last):
10 20
30 50
list (first->last):
20 30
50 寫這篇部落格的時候,還遇到乙個小bug,就是在同乙個包裡面,不能設定同乙個名字的類,否則會出現the type ? is already defined;
鍊錶 合併有序鍊錶
題目 將兩個公升序鍊錶合併為乙個新的 公升序 鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 題解我們這裡利用到了乙個前哨節點,因為兩個鍊錶實際上是已經排好序了,所以我們只需要比較兩個節點誰大誰小,找到小的接上去,然後那個...
鍊錶 合併有序鍊錶
將兩個公升序鍊錶合併為乙個新的 公升序 鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。leetcode21 class solution else head head.next head.next l1 null?l2 l1 return result.next class solut...
鍊錶的有序
time limit 1000ms memory limit 65536kb submit statistic discuss problem description 集合有乙個重要的特性 互異性,即集合中任意兩個元素都是不同的,互異性使得集合中的元素沒有重複。給你 n 個包含重複數字的無序正整數序...