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 + -
显示快捷键?