C++算法之双向链表的代码

栏目: C++ · 发布时间: 7年前

工作闲暇时间,把代码过程较好的代码片段收藏起来,下边资料是关于C++算法之双向链表的代码,应该是对各朋友有些用处。 
typedef struct _DOUBLE_LINK_NODE  
{  
    int data;  
}DOUBLE_LINK_NODE; 复制代码
(2)创建双向链表节点 
{  
    assert(NULL != pDLinkNode);  
  
    memset(pDLinkNode, 0, sizeof(DOUBLE_LINK_NODE));  
    pDLinkNode->data = value;  
    return pDLinkNode;  
}复制代码
(3)删除双向链表 
{  
        return ;  
  
    free(pNode);  
    delete_all_double_link_node(pDLinkNode);  
}复制代码
(4)在双向链表中查找数据
{  
    if(NULL == pDLinkNode)  
        return NULL;  
  
    while(NULL != pNode){  
        if(data == pNode->data)  
            return pNode;  
        pNode = pNode ->next;  
    }  
      
    return NULL;  
} 复制代码
(5)双向链表中插入数据
{  
  
    if(NULL == ppDLinkNode)  
        return FALSE;  
  
        pNode = create_double_link_node(data);  
        assert(NULL != pNode);  
        return TRUE;  
    }  
  
        return FALSE;  
  
    pNode = create_double_link_node(data);  
    assert(NULL != pNode);  
  
    while(NULL != pIndex->next)  
        pIndex = pIndex->next;  
  
    pNode->prev = pIndex;  
    pNode->next = pIndex->next;  
    pIndex->next = pNode;  
    return TRUE;  
} 复制代码
(6)双向链表中删除数据 
{  
        return FALSE;  
  
    if(NULL == pNode)  
        return FALSE;  
  
        }else{  
        }  
  
    }else{  
        if(pNode->next)  
            pNode->next->prev = pNode->prev;  
        pNode->prev->next = pNode->next;  
    }  
  
    free(pNode);  
    return TRUE;  
} 复制代码
(7)统计双向链表中数据的个数 
{  
    int count = 0;  
  
    while(NULL != pNode){  
        count ++;  
        pNode = pNode->next;  
    }  
    return count;  
} 复制代码
(8)打印双向链表中数据
{  
  
    while(NULL != pNode){  
        printf("%dn", pNode->data);  
        pNode = pNode ->next;  
    }  
} 复制代码
注意:今天我们讨论的双向链表是非循环的,大家可以考虑一下如果改成循环双向链表,应该怎么写?如果是有序的循环双向链表,又该怎么写?                                                                                                                                             

以上所述就是小编给大家介绍的《C++算法之双向链表的代码》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

百面机器学习

百面机器学习

诸葛越、葫芦娃 / 人民邮电出版社 / 2018-8-1 / 89.00元

人工智能领域正在以超乎人们想象的速度发展,本书赶在人工智能彻底占领世界之前完成编写,实属万幸。 书中收录了超过100道机器学习算法工程师的面试题目和解答,其中大部分源于Hulu算法研究岗位的真实场景。本书从日常工作、生活中各种有趣的现象出发,不仅囊括了机器学习的基本知识 ,而且还包含了成为出众算法工程师的相关技能,更重要的是凝聚了笔者对人工智能领域的一颗热忱之心,旨在培养读者发现问题、解决问......一起来看看 《百面机器学习》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试