深入解析C++的循环链表与双向链表设计的API实现

2020-01-06 14:55:35于海丽
易采站长站为您分析C++的循环链表与双向链表设计的API实现,文中的示例对于链表结点的操作起到了很好的说明作用,需要的朋友可以参考下  

循环链表设计与API实现
基本概念
循环链表的定义:将单链表中最后一个数据元素的next指针指向第一个元素

C++,循环链表,双向链表

循环链表拥有单链表的所有操作

  • 创建链表
  • 销毁链表
  • 获取链表长度
  • 清空链表
  • 获取第pos个元素操作
  • 插入元素到位置pos
  • 删除位置pos处的元素

    新增功能:游标的定义

    在循环链表中可以定义一个“当前”指针,这个指针通常称为游标,可以通过这个游标来遍历链表中的所有元素。

    C++,循环链表,双向链表

    循环链表新操作
    将游标重置指向链表中的第一个数据元素

    
    CircleListNode* CircleList_Reset(CircleList* list);
    

    获取当前游标指向的数据元素

    
    CircleListNode* CircleList_Current(CircleList* list);
    

    将游标移动指向到链表中的下一个数据元素

    
    CircleListNode* CircleList_Next(CircleList* list);
    

    直接指定删除链表中的某个数据元素 

    
    CircleListNode* CircleList_DeleteNode(CircleList* list, CircleListNode* node); 
    // 根据元素的值 删除 元素 pk根据元素的位置 删除 元素