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++算法之双向链表的代码》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

程序员面试宝典

程序员面试宝典

欧立奇、刘洋、段韬 / 电子工业出版社 / 2006-7 / 39.00元

本书取材于各大IT公司历年面试真题(包括笔试题、口试题、电话面试、英语面试,以及逻辑测试和智商测试)。通过精确详细的分类,把在应聘程序员(含网络、测试等)过程中所遇见的常见考点分为21章。不仅对传统的C系语言考点做了详尽的解说,包括面向对象问题、sizeof问题、const问题、数据结构问题等。还根据外企出题最新特点,针对设计模式问题、C#问题、网络问题、数据库问题、NET问题等,做了深入的说明。......一起来看看 《程序员面试宝典》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

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

在线XML、JSON转换工具