zoukankan      html  css  js  c++  java
  • 基于数据存储管理的带有头尾指针的双向链表创建实例

    1.基于LRU算法的带有头尾指针的双向链表的数据结构

    typedef struct LRUEle        //LRU链表结点
    {
        LRUEle();
        int fid;                //帧号
        double b2dtime;            //最后两次使用的时间间隔
        struct LRUEle * next;    //后指针
        struct LRUEle * prior;    //前指针
    }Link;
    
    struct LRULinkList        //LRU链表
    {
        Link *head;            //头指针
        Link *tail;            //尾指针
    };

    2.建立一个带有头结点的空双向链表

    LRULinkList *lruList;
        //初始化一个带有头结点的空LRU双向链表
        Link * head=new LRUEle();  
        head->next = head;
        head->prior = head;
        Link * tail = head; 
      
        lruList=(LRULinkList *)malloc(sizeof(LRULinkList));  
     
        lruList->head=head;  
        lruList->tail=tail; 

    3.错误的实现方法

        //    Link * head=new LRUEle();   
        //  Link * tail=new LRUEle();   初始化时头尾指针已同一个结点,不应分配两个不同的内存空间
     
        //  head->next=tail;    这样的实现,相当于建立了两个空的头结点;对于插入、删除没有一点好处,而且浪费内存空间
        //  tail->next=head;  
        //  head->prior=tail;  
        //  tail->prior=head;  

    4.带有头尾指针的单链表的数据结构

    typedef struct LNode {//结点类型  
        ElemType data;  
        struct LNode * next;  
    } Link, * Position;  
      
    typedef struct {//链表类型  
        Link * head;  
        Link * tail;    
    } LinkList; 

    5.带有头尾指针的单链表的初始化

        LinkList * l = (LinkList *)malloc(sizeof(LinkList));
        l->head = (Link *)malloc(sizeof(Link));  
        l->tail = (Link *)malloc(sizeof(Link));  
        if(!l->head || !l->tail)  
            exit(OVERFLOW);  
        l->head = l->tail;  
        l->tail->next = NULL;  
        return OK;  

    6.带有头尾指针的单链表与双向链表初始化的不同:见红色部分!!

    一定要注意对只含头尾指针的结构体分配内存空间(红色部分)。

  • 相关阅读:
    win8系统下,python 2.7安装xlrd,xlutils和xlwt的方法
    phone number
    string to int
    Linux P2V Azure
    Azure IaaS 知识点小节
    Exchange端口列表
    自签名证书和私有CA签名的证书的区别 创建自签名证书 创建私有CA 证书类型 证书扩展名(转)
    Power BI REST API
    Web App 压力测试
    Azure IaaS限制
  • 原文地址:https://www.cnblogs.com/fuleying/p/3405099.html
Copyright © 2011-2022 走看看