不用指针怎么在C++里面实现链表

Try6198 2010-11-07 08:45:36

不用指针怎么在C++里面实现链表??
在java里面是利用类的成员函数!在C++里面可以吗??
或者说还有一套更好的体制??
希望高手指点!
数据结构的思想和语言没关系,是吧

最好举个例子
...全文
447 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wasx1 2010-11-07
  • 打赏
  • 举报
回复
要构造结构体数组啦
zhizun9527 2010-11-07
  • 打赏
  • 举报
回复
你查看一下数据结构的静态链表,就是实现你这个功能的,不用指针。
#define MAXSIZE 1000
typedef struct {
type data;
int cur // ”指针"
}SLinkList[MAXSIZE];
zhizun9527 2010-11-07
  • 打赏
  • 举报
回复
这种利用数组实现链表的功能其实就是静态链表。七楼已经将结构写出来了。你自己也可以查看一下相关书籍。
Zeilone 2010-11-07
  • 打赏
  • 举报
回复
链表是数据结构的概念,而且只是个概念而已
具体用什么来实现不重要就要看所用语言的特性了
A->B->C 是个链表
数组ABC同样也是个链表
两者的不同只是第一个链表的next是显示说明的
而第二个链表的next是隐含的
ryfdizuo 2010-11-07
  • 打赏
  • 举报
回复
struct cell
{
type data;
int next_idx; //下一个结点在数组中的位置
};

cell[100];
通过每个结点的next_idx遍历~
zhizun9527 2010-11-07
  • 打赏
  • 举报
回复
不用指针也可以实现链表的功能。原理是这样,利用数组实现,数组元素单元内存储的内容为一个结构体,其实和利用指针实现链表的原理一样 ,只不过这个结构体内的"指针"是一个数值,和数组元素下表相同,利用这个就可以实现。但这种方法的缺点就是链表的长度需要提前分配好,也就是说这个链表不可以动态改变大小。具体你可以看看数据结构中链表那一节。讲的很详细的。单元对你能有点帮助。
libinfei8848 2010-11-07
  • 打赏
  • 举报
回复
如果把指针封装成一个类,比如是智能指针,算不算不直接使用指针?
失落的凡凡 2010-11-07
  • 打赏
  • 举报
回复
JAVA中的链表,应该也不可能不用到“引用”。你说的用“成员函数”,是指用某个写好的库吧?大概你还不明白什么叫封装,C++也可以封装一个“从外面看不到指针”的链表库。
yuniansheng 2010-11-07
  • 打赏
  • 举报
回复
应该不行吧,所谓链表,就要有链,链即指针,怎么可以没指针呢?没学过JAVA,不知道JAVA里面是如何实现的?
失落的凡凡 2010-11-07
  • 打赏
  • 举报
回复
不用指针就比较难实现了,因为不用指针就意味着不能用malloc和new。那就只能初始化一大块全局变量,当作一个内存池自己维护,用下标来索引。但这样1:实现复杂2效率不高3难以扩展。
haogeai123 2010-11-07
  • 打赏
  • 举报
回复
数组,动态改变数组的大小和元素的位置
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧