資料結構 鍊錶的基本應用2

2021-09-28 20:39:18 字數 1749 閱讀 8419

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被作者們用來開發幾種早期的人工智...