写个内核链表,练习练习

来源:互联网 发布:淘宝网怎么开网店货源 编辑:程序博客网 时间:2024/04/30 12:24

立下此码, 过段时间再看是否有进步!

#include<stdio.h>
#include <malloc.h>

struct list{
    struct list*prev, *next;
};

#define list_init(head) \
        (head)->next= (head);\
        (head)->prev= (head) \


void __list_add(structlist *new,struct list*prev, struct list *next)

{

    prev->next= new

    new->prev= prev;

    new->next= next;

    next->prev= new;

}

 

void list_add(structlist *new,struct list*head)
{
    __list_add(new, head, head->next);
}

 

void __list_del(structlist *prev,struct list*next)
{
    prev->next= next;

    next->prev= prev;

}

void list_del(structlist *enpry)
{
   __list_del(enpty->prev, enpty->next);
}

 


int main(void)
{

    int i;
    struct list*head, *tmp;

    head = (structlist*)malloc(sizeof(structlist));

    list_init(head);

    for (i = 0; i < 10; i++)

    {

        tmp = (structlist*)malloc(sizeof(structlist));

        list_add(tmp, head);

    }

    list_del(tmp);
}

原创粉丝点击