在單鏈表中的p所指結點之前插入s所指結點時,可執行如

時間 2021-05-05 17:09:45

1樓:墨汁諾

q=head;

while(q && q->next!dao=p)//迴圈結束時q後面正好zhi是需要找的dp或者q為空表示鏈版錶中沒有權p

if (q)

q->next表示結點中存放的指標,該指標用來指向某個結點。原來的連線關係是q->next=p,意思是q中存放的指標的值是p,即q指向p。

2樓:

答案應該說不完整,這樣操作之後p指標所指結點還在s之前只是p原來指向的結點內容變了,題目要求p在s之後吧,後面應該加上p和s指標改變

3樓:

簡單來說,p前插,p和s都是指標,可以利用這一點。現將s放到p後邊的位置,然後利用臨時元素t,將p和s的data對調,這樣就將s插到p前邊了。這種方式的時間複雜度是o(1)。

比單鏈表頭開始遍歷,找到p前驅,然後插s的時間複雜度低,遍歷式演算法的複雜度是o(n)

4樓:匿名使用者

例如:t=a

a=bb=t 那麼按照這個例子擴充套件命題;

t=p->data

p->data=s->data

s->data=t

中間p->data=s->data 是鍊表的死規定,背會更好,上面s—>next=__p->next__

p—>next=s

也是鍊表的規定要切記阿。

老師講鍊表時會證明的。

在乙個單鏈表中p所指結點之後插入乙個s所指結點時,應執行s->next= p->next= 的操作。

5樓:匿名使用者

沒有完全抄看明白你

的意思,按襲照我的理bai解說一下單向鍊表的插入du操作。首先需要zhi明白的是,問題中daop和s都是指標,同時,結點的next部分也是乙個指標,作用都是指向某個具體的結點。

現在存在乙個單向鍊表,指標p指向該鍊表中的某個結點,「p->next」表示p所指向結點的下乙個結點。同時還有乙個孤立的結點由指標s指向。現在要把s指向的結點插入到p指向結點的後方,使其加入到單向鍊表中,其過程可以參考下圖。

步驟一:

步驟二:

步驟三:

最後,把鍊表拉直,可以看到,已經完成插入操作,如下圖。

**有點小,將就看吧。

資料結構演算法程式設計題,刪除帶頭結點的單鏈表中最大元素或最小元素

刪除單鏈表中最大元素 del max link a end of if end of while tmp max next data 一次遍歷後max指標所指結點就是最大元素,刪除之。max data tmp max next max next next 刪除方法能看懂麼?好好思考。end of d...

在金蝶K3中調撥單與其他入庫單的區別

在金蝶k3財務軟體中,調撥單 也就是入庫單 和其他入庫單,沒什麼區別,其他入庫單只是做一些非購入物品的入庫用,製作方法和入庫單一樣。在庫存管理模組下的入庫業務選單下選擇所需要的入庫單型別。方法一 如果是已經在存貨核算中記賬,並生成了憑證的話,你可以先在總賬中把憑證作廢,之後再在存貨核算中反記賬。啟用...

英文字母在單詞中的發音,26個英文字母在單詞中的發音

媯星藍和璧 和漢語拼音差不多,但是也有例外,而且有的字母不止一個音。把音標學了吧?學了音標你就基本懂了。 空無一魜的小鎮 不同情況不同發音,如果你要看這些規律就要好好學音標了 皿 明天考試才來看太趕了吧 像e,有時候發 餓,有時候發 1,有時候不發音 我為了這個已經花了一個月,就憑這一天就想考好?是...