plinks.cpp

来自「eC++编译器源码」· C++ 代码 · 共 49 行

CPP
49
字号
#pragma PLinks
#include <SYSTEM.h>
#include <Errors.h>
#include <PLinks.h>
void InitLink(Link &p, int priority)
{
    p.next = NULL;  p.previous = NULL;  p.priority = priority;
};

void Delete(Link &p)
{    
    if (p.next != NULL) {
                        p.next->previous = p.previous;
                        }
      if (p.previous != NULL) {
                              p.previous->next = p.next;
                               p.previous = NULL;
                               }
      p.next = NULL;
};

void AddsBefore(Link &old, Link &new)
{
     if( (new.next != NULL) || (new.previous != NULL)) {
       SoftwareError("PLinks.AddBefore:Adding non-NULL link");
        }
    new.previous = old.previous;
    new.next = ADR(old);
      if (old.previous != NULL) {
                        old.previous->next = ADR(new);
                               }
    old.previous = ADR(new);
};

void AddsAfter(Link &old, Link &new)
{
      if ((new.next != NULL) || (new.previous != NULL)) {
        SoftwareError("PLinks.AddAfter:Adding non-NULL link");
        }
    new.previous = ADR(old);
    new.next = old.next;
   if (old.next != NULL) {
               old.next->previous = ADR(new);
                         }
    old.next = ADR(new);
};

 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?