單鏈表刪除指定元素 請問為何在線性鏈表中進(jìn)行插入與刪除,不需要移動(dòng)鏈表中的元素呢?謝謝了?
請問為何在線性鏈表中進(jìn)行插入與刪除,不需要移動(dòng)鏈表中的元素呢?謝謝了?讓我試著用簡單的例子來解釋一下:比如說,操場上站著很多人(元素),現(xiàn)在規(guī)定每個(gè)人都要記住身后的人(指針)這樣就形成了一個(gè)鏈表。你只
請問為何在線性鏈表中進(jìn)行插入與刪除,不需要移動(dòng)鏈表中的元素呢?謝謝了?
讓我試著用簡單的例子來解釋一下:
比如說,操場上站著很多人(元素),現(xiàn)在規(guī)定每個(gè)人都要記住身后的人(指針)
這樣就形成了一個(gè)鏈表。你只需要知道鎖鏈的頭(第一個(gè)人),然后讓他指出他身后的人,并逐一指出,然后你就可以穿過鎖鏈了。
現(xiàn)在,添加了一個(gè)新人。在五號(hào)和六號(hào)之間。
操作方法是:讓他問第五個(gè)人指的第五個(gè)人,
然后新人也指這個(gè)人(其實(shí)是第六個(gè)人)
然后讓第五個(gè)人指新人。這樣,鏈表的插入就完成了。
您會(huì)發(fā)現(xiàn)整個(gè)過程只是指針的賦值,與每個(gè)人的位置無關(guān)。
你可以隨意站立。
也就是說,如果元素插入到鏈表中,則不需要移動(dòng)每個(gè)元素的位置。
此外,如果是數(shù)組,要插入值,需要將插入位置后的所有
值移動(dòng)一位,以便為其讓路。
在一個(gè)長度為n的線性表中,刪除值為x的元素時(shí)需要比較元素和移動(dòng)元素的總次數(shù)為?
如果是指定值為X的元素的2113,則順序列表和鏈表的5261之間沒有差異。它們都是從4102元素開始的。假設(shè)在長度為1653°N的線性表中只有一個(gè)元素的值為x,然后從第一個(gè)元素開始比較I次,得到值x(假設(shè)它是第I個(gè)元素)。刪除I后,I-first元素到n-th元素會(huì)移動(dòng),移動(dòng)n-(I 1)1,即n-I次,所以比較元素和移動(dòng)元素的總次數(shù)是n次。注:以上答案僅適用于線性表中x值的一個(gè)元素。如果有多個(gè)元素具有x值,則總次數(shù)是不確定的。