1.刪除排序鍊錶中的重複元素
(刪除重複的元素,使每個元素值只出現一次)
public listnode deleteduplicates1
(listnode head)
else
}return head;
}
2.刪除排序鍊錶中的重複元素(刪除所有的重複元素,只保留原始鍊錶中沒有重複出現的數字)
public listnode deleteduplicates2
(listnode head)
listnode result =
newlistnode(-
1); result.next = head;
listnode pre = result;
while
(pre.next!=null && pre.next.next!=null)
pre.next = b;
}else pre = pre.next;
}return result.next;
}
3.編寫**,以給定值x為基準將鍊錶分割成兩部分,所有小於x的結點排在大於或等於x的結點之前(遍歷整個鍊錶,把小於 x 的尾插到乙個小煉表,把大於等於 x 的尾插到乙個大煉表中
理想情況下,把大鍊錶接到小煉表後邊
如果沒有小煉表,直接返回大煉表(大煉表可能為空)
保證返回鍊錶的最後乙個結點.next == null)
public node separatebyx
(node head,
int x)
else
send = cur;
}else
else
bend = cur;}}
if(send == null)
send.next = bhead;
if(bend != null)
return shead;
}
4.回文鍊錶
public
boolean
ispalindrome
(listnode head)
// 反轉前半段鍊錶
listnode cur = head, pre = null;
for(
int i =
0; i < len /
2; i++
)// 奇數個鍊錶結點cur後移一位if(
(len &1)
==1)// 遍歷比較pre和cur的值相等否
for(listnode p = cur, q = pre; p != null && q != null; p = p.next, q = q.next)
return
true
;}
5.相交鍊錶編寫乙個鍊錶,找到兩個單鏈表相交的起始結點
public listnode getintersectionnode
(listnode heada, listnode headb)
return pa;
資料結構(2)鍊錶的應用
鍊錶是一種基礎資料結構,它是集合類的抽象資料結構型別中表示資料的合適型別。與數字結構不同之處在於,在鍊錶中插入元素和刪除元素都更加方便。定義 鍊錶表示的一列元素,由一系列的節點 node 構成,是一種遞迴資料結構。節點是乙個能夠包含任何型別資料的抽象實體,它所包含的指向節點的應用體現了他在鍊錶中的作...
資料結構(2)鍊錶的應用
鍊錶是一種基礎資料結構,它是集合類的抽象資料結構型別中表示資料的合適型別。與數字結構不同之處在於,在鍊錶中插入元素和刪除元素都更加方便。定義 鍊錶表示的一列元素,由一系列的節點 node 構成,是一種遞迴資料結構。節點是乙個能夠包含任何型別資料的抽象實體,它所包含的指向節點的應用體現了他在鍊錶中的作...
基本資料結構(2) 鍊錶
鍊錶開發於1955 56,由當時所屬於蘭德公司 英語 rand corporation 的艾倫紐維爾 allen newell 克里夫肖 cliff shaw 和赫伯特西蒙 herbert simon 在他們編寫的資訊處理語言 ipl 中做為原始資料型別所編寫。ipl被作者們用來開發幾種早期的人工智...