陈童学哦 2023-01-23 05:23 采纳率: 50%
浏览 71
已结题

团体程序设计天梯赛如何备赛(语言-c++)

有关数据结构(单链表、堆栈、队列)这方面的知识如何能够快速掌握呢。

  • 写回答

3条回答 默认 最新

  • 关注

    链表是基础,堆栈、队列这些都是在链表的基础上增加了自己独特的特征。
    队列:跟排队一样,讲究先来后到,所以是先进先出(先进队列的元素在出队时先出)
    栈:跟队列相反,后入栈的先出栈,是后进先出(或者先进后出)
    队列和栈都是在链表的基础上发展而来的。链表是由一个个节点串联而成,跟日常生活中的铁链子很像,所以取名叫链表。
    对于链表、堆栈和队列,其基本的操作都是相似的:
    (1)增加:在链表(或者队列、堆栈)后增加元素
    (2)插入:在制定位置插入元素
    (3)删除:删除制定位置的元素(特殊的,删除链表末尾的元素,队列和堆栈不适用这个,堆栈和队列只能根据自己的特定出栈或者出队)
    (4)长度:计算链表(或者堆栈的长度)
    (5)遍历:遍历链表
    (6)首元素:获取链表/堆栈/队列的首元素
    都是一个道理,明白了链表,再结合队列和堆栈各自的特征去适当修改一下相关函数就可以了。
    学习的建议:
    找一个链表的例题,自己写一下这几个函数,搞明白逻辑关系,弄懂链表后,再去看队列和堆栈的相关知识就很轻松了。
    对于竞赛,可能会出现链表的排序或者多种数据结构的综合运用等相关知识,只要搞定了链表,其它的都是纸老虎。
    另外,链表一般包括带哨兵节点的链表和不带哨兵节点的链表,哨兵节点只用来标记链表头,不实际存储有效数据。带哨兵节点的链表相对简单一些,可以先从带哨兵节点的链表开始学习,然后再研究不带哨兵节点的链表。两者的逻辑基本一致。
    如有帮助,望采纳,谢谢。

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 2月4日
  • 已采纳回答 1月28日
  • 创建了问题 1月23日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部