導航:首頁 > 源碼編譯 > 關於刪除鏈表的演算法描述

關於刪除鏈表的演算法描述

發布時間:2025-02-08 19:34:55

㈠ 7.試設計實現刪除單鏈表中值相同的多餘結點的演算法

.....做題啊
解:該例可以這樣考慮,先取開始結點的值,將它與其後的所有結點值一一比較,發現相同的就刪除掉,然後再取第二結點的值,重復上述過程直到最後一個結點。
設單鏈表(其類型為LinkList)的頭指針head指向頭結點,則可按下列步驟執行:
首先,用一個指針p指向單鏈表中第一個表結點,然後用另一個指針q查找鏈表中其餘結點元素,由於是單鏈表,故結束條件為p= =NULL,同時讓指針s指向q所指結點的前趨結點,當查找到結點具有q->data= =p->data時刪除q所指的結點,然後再修改q,直到q為空;然後使p指針後移(即p=p->next),重復進行,直到p為空時為止。演算法描述如下:
del(LinkList *head)
{ //刪除單鏈表中值相同的多餘結點
LinkList *p, *s, *q;
p=head->next;
while(p!=NULL && p->next!=NULL)
{ s=p; //s指向要刪除結點的前趨
q=p->next;
while (q!=NULL)
{ if (q->data= =p->data)} //查找值相同的結點並刪除
{ s->next=q->next;
free(q);
q=s->next;
}
else
{ s=q;
q=q->next;
}
}
p=p->next;
}
}

閱讀全文

與關於刪除鏈表的演算法描述相關的資料

熱點內容
單片機控制顯示器 瀏覽:774
頂好花app下載怎麼找不到 瀏覽:987
手機命令大全 瀏覽:806
怎麼下郵政銀行app 瀏覽:248
不背單詞app單詞怎麼學習 瀏覽:479
程序員日常操作搞笑 瀏覽:380
android檢查是否安裝 瀏覽:373
蘋果手機編輯pdf文件 瀏覽:458
android系統名字 瀏覽:969
安卓手機如何進去有求必應屋 瀏覽:432
指數除法運演算法則底數不同 瀏覽:894
90壓縮干糧09壓縮干糧 瀏覽:516
android線程池框架 瀏覽:481
手機自帶解壓能解壓哪些文件 瀏覽:804
linux安裝hba驅動 瀏覽:119
java構造函數new 瀏覽:668
怎麼查家裡電器耗電量app 瀏覽:506
原神一直顯示重新連接伺服器怎麼辦 瀏覽:826
一般用途軸流式壓縮機 瀏覽:926
沒學歷的怎麼學編程 瀏覽:901