🟦首先我们先来个概念了解(什么是单向链表)
单向链表属于链表中的一类,链表是用于数据素的线性集合,其中每个素都指向下一个素,素存储上并不连续。单向链表的特性是每个素只知道其下一个素是谁。

🟦单向链表实现的几个功能汇总

1️⃣创建两个类,一个类是节点类,一个类中实现单向链表的功能
有可能一些小可爱们🤗不知道头指针的含义,下面👇是关于头指针的解释

2️⃣实现从链表头部添加的功能void addFirst(int value)
----->思路分析

将头指针m_Head指向新加进来的节点,新加进来的节点m_Next指针指向原先头指针指向的节点
👇下面就是代码呈现
3️⃣实现链表遍历的功能void Loop1() 或void Loop2() (这里提供两种遍历方法)
用while循环实现遍历
用for循环实现链表遍历
4️⃣实现从链表尾部添加的功能void addFirst(int value)
思路分析🎇:要从链表尾部添加,首先就要找到最后一个节点,我们可以遍历链表,然后返回最后一个节点,所以我们可以把找最后一个节点封装成一个函数 Node* findLast();

代码呈现

5️⃣实现根据索引返回节点的值的功能int get(int index)
思路分析🎇:首先我们需要找到节点,遍历链表找索引,当i等于我们想要找的索引index时,返回节点
再通过get函数找到索引所指向的值
❌但是这里存在一个小问题,就是当findNode返回为空的时候不能用exit(0),因为用它是退出整个程序,也就是说在测试时其后面的测试案例都执行不了,但是博主现在能力有限还无法解决这个问题,各位大佬们,有解决方法可以在评论中留言🫶❤️

6️⃣实现向索引位置插入的功能void insert(int index,int value)
思路分析🎇:要向索引为index的位置添加节点,就要找到索引为index-1的节点,让其的m_Next指针指向要添加的节点,要添加的节点的m_Next指针指向原先索引为index的节点

7️⃣实现删除第一个节点的功能void removeFirs()
思路分析🎇:头指针m_Head指向m_Head->m_Next

8️⃣实现根据索引删除节点void remove(int index)
思路分析🎇:用findNode函数找到索引为index-1的节点,让其m_Next指向索引为index的m_Next
🎉🎉🎉关于单链表的功能就已经全部实现了,将其功能都封装在SinglyLinkedList这个类中
这篇blog到这里就已经结束了🎉🎉🎉,创作不易,还望各位多多支持,想要点赞,关注,收藏❤️🫶😘🥰🥳
今天的文章 c++单向链表类(c++单链表实现)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/51166.html