轨道
/
C++
C++
/
练习
/
简单链表
简单链表

简单链表

中等

简介

你在一家音乐流媒体公司工作。

你的任务是为你的音乐播放器应用创建一个播放列表功能。

说明

为音乐播放器应用写一个原型。

在原型中,每首歌就简单地用一个数字表示。 给定一个数字范围(也就是歌曲 ID),创建一个单向链表。

给定一个单向链表,你应该能够反转这个链表,从而按相反的顺序播放歌曲。

Note

链表是计算机科学中的一种基础数据结构,常被用来实现其他数据结构。

最简单的链表是单向链表。 也就是说,每个元素(或称“节点”)都包含数据,以及指向链表中下一个节点的指针。

如果你想更深入地了解链表,可以看看这篇文章,它用直观的插图做了讲解。

实现提示

我们已经为你提供了List类的整体结构。 它包含你可以直接使用的私有变量:类型为Element*的head和类型为size_t的current_size。

Element结构体也已经给出,它有两个变量:类型为int的data和类型为Element*的next。

具体细节可以查看simple_linked_list.h。你不必修改这个文件,但如果它符合你的需要,也可以修改。

测试使用的是simple_linked_list.cpp中提供的函数,不要修改它们的签名。如果有需要,你可以添加更多函数和成员。

我可以使用智能指针吗?

虽然头文件中使用裸指针,但你可以自由选择其他实现方式。

通过 GitHub 编辑 链接将在新窗口或新标签页中打开
C++ Exercism

准备好开始 简单链表 了吗?

注册 Exercism,借助 19 个概念100 个练习 和真人导师指导,学习并掌握 C++,全部免费。