日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

在无头单链表的一个非头节点前插入一个节点(C语言)

發布時間:2024/9/27 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在无头单链表的一个非头节点前插入一个节点(C语言) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

①時間復雜度為N:

void InsertNotHead(PSListNode pHead, PSListNode pos, DataType data) {PSListNode pPreNode = pHead;PSListNode pPreNode = pHead;if (NULL == pos){return;}else{//先找到pos結點前面的結點while(pCurNode != pos){pPreNode = pCurNode;pCurNode = pCurNode->pNextNode;}PSListNode pNewNode = ByeNode(data);if (NULL == pNewNode){printf("開辟結點空間失敗!\n");return;}else{//把插入的結點插入pos前面的結點與pos結點之間pPreNode->pNextNode = pNewNode;pNewNode->pNextNode = pCurNode;}} }

②時間復雜度為1:

void InsertNotHead(PSListNode pos, DataType data) {if (NULL == pos){return;}else{PSListNode pNewNode = ByeNode(data);if (NULL == pNewNode){printf("開辟結點空間失敗!\n");return;}else{//交換pos和pNewNode的數據(相當于交換了兩個結點的位置),使問題轉換為在pos指向的結點的下一個結點處插入新結點pNewNode->data = pos->data;pos->data = data;pNewNode->pNextNode = pos->pNextNode;pos->pNextNode = pNewNode;}} }

總結

以上是生活随笔為你收集整理的在无头单链表的一个非头节点前插入一个节点(C语言)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。