删除链表中指定节点,要求时间复杂度为O(1)
生活随笔
收集整理的這篇文章主要介紹了
删除链表中指定节点,要求时间复杂度为O(1)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
思路:
(1)把要?jiǎng)h除的節(jié)點(diǎn)的值與其next交換
(2)刪除其next
(3)完成
算法:
1 void DeleteNode(LinkList *p){ 2 if(p->next=NULL){ 3 free(p); 4 p=NULL; 5 }else{ 6 LinkList* lk=p->next; 7 int temp=p->data; 8 p->data=lk->data; 9 lk->data=temp; 10 p->next=lk->next; 11 free(lk); 12 } 13 }轉(zhuǎn)載于:https://www.cnblogs.com/GoAhead/archive/2012/05/24/2516045.html
總結(jié)
以上是生活随笔為你收集整理的删除链表中指定节点,要求时间复杂度为O(1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 获取当前程序运行的主机名称
- 下一篇: 浅用block 转