zoukankan      html  css  js  c++  java
  • 面试题13 在O(1)时间删除链表结点

     1 typedef struct Node
     2 {
     3     int elem;
     4     struct Node *next;
     5 }*LinkList, node;
     6 
     7 void Delete(LinkList *head, node *p) {
     8     if (!head || !p)
     9         return;
    10     if (p->next != NULL) {
    11         node *q = p->next;
    12         p->elem = q->elem;
    13         p->next = q->next;
    14         delete q;
    15         p = NULL;
    16         q = NULL;
    17     }
    18     else if (*head == p){
    19         delete p;
    20         p = NULL;
    21         *head = NULL;
    22     }
    23     else {
    24         node *q = *head;
    25         while (q->next->next != NULL) {
    26             q = q->next;
    27         }
    28         q->next = NULL;
    29         delete p;
    30         p = NULL;
    31     }
    32 }
  • 相关阅读:
    JMS API学习总结(一)
    java读取properties配置文件
    如何创建并运行java线程
    JS
    JS
    JS
    JS
    IE
    JS
    JS
  • 原文地址:https://www.cnblogs.com/wanderingzj/p/5352452.html
Copyright © 2011-2022 走看看