链表Linked List 在oi中的 C++实现 (指针 结构体封装

#include
using namespace std;

int tot, bias = 2; //如果static又要分配空间 超级麻烦,不如全局。当然namespace也行
struct Node
{
    Node *prev, *next;
    int val;
    Node* insert();
    void remove()
    {
        prev->next = next;
        next->prev = prev;
    }
}nodes[105], *head, *tail;
Node* Node::insert() //因为不会前置声明因此就写在外面算了
{
    Node* q = nodes + bias ++;
    q->next = next;
    next->prev = q;
    q->prev = this; 
    return next = q;
}
void init()
{
    head = nodes;
    tail = head+1;
    head->next = tail;
    tail->prev = head;
}

int main()
{
    init();
    head->insert()->val = 7;
    cout<

你可能感兴趣的:(链表Linked List 在oi中的 C++实现 (指针 结构体封装)