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

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

工作闲暇时间,把代码过程较好的代码片段收藏起来,下边资料是关于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++算法之双向链表的代码》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

算法谜题

算法谜题

Anany Levitin、Maria Levitin / 赵勇、徐章宁、高博 / 人民邮电出版社 / 2014-1-1

算法是计算机科学领域最重要的基石之一。算法谜题,就是能够直接或间接地采用算法来加以解决的谜题。求解算法谜题是培养和锻炼算法思维能力一种最有效和最有乐趣的途径。 本书是一本经典算法谜题的合集。本书包括了一些古已有之的谜题,数学和计算机科学有一部分知识就发源于此。本书中还有一些较新的谜题,其中有一部分谜题被用作知名IT企业的面试题。全书可分为4个部分,分别是概览、谜题、提示和答案。概览介绍了算法......一起来看看 《算法谜题》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具