如何用C++来实现在循环链表里展示除了最后一个节点,然后返回所展示的节点总和
2017-10-25 12:56
309 查看
题目的意思是:Display all data except the last node’s data item in CLL and return the sum of data items displayed
题目中的CLL就是循环链表英文单词的缩写。
实现这个功能,只能用递归,不能用循环。
建立循环链表是用rear指针,所以在传入参数时,就是得传入rear指针来指向最后一个,但是这个做法是不断开循环链表变成单链表的,所以就得再传一个指针来指向第一个节点。
下面就展示代码:
如果在最后不return 0的话,那么最后输出的结果就会出现很随机的数字。所以,还是得在最后return 0来表示最后一个节点不展示,只是返回数字0
下面是结果的展示:
题目中的CLL就是循环链表英文单词的缩写。
实现这个功能,只能用递归,不能用循环。
建立循环链表是用rear指针,所以在传入参数时,就是得传入rear指针来指向最后一个,但是这个做法是不断开循环链表变成单链表的,所以就得再传一个指针来指向第一个节点。
下面就展示代码:
#include "clist.h" int list::Display() { return Display(rear,rear->next); } int list::Display(node * rear, node * head) { if(!rear || !head) return 0; if(head != rear) { cout<<head->data<<" "; return head->data + Display(rear,head->next); } else return 0; }
如果在最后不return 0的话,那么最后输出的结果就会出现很随机的数字。所以,还是得在最后return 0来表示最后一个节点不展示,只是返回数字0
下面是结果的展示:
相关文章推荐
- 如何用C++实现双向循环链表
- 【C++】模板实现带头节点的双向循环链表
- 数据结构_队列_用链表动态建立释放节点实现队列各种操作_C++实现
- C++实现数据结构三 双向循环链表
- [面试] - 在单链表末尾添加一个节点 C++ 实现
- 单向循环链表的C++实现
- 链表循环保留M个节点 然后删除N个节点 重复操作到链表尾部
- 伪多态的循环链表C++实现【多类型支持】
- C++实现有哨兵的双向循环链表
- C++循环链表之约瑟夫环的实现方法
- 仅返回类型不同的函数,在C++中如何实现重载?
- C++实现遍历链表一次求出中间的节点
- 队列(queue)的链表(list)实现及循环数组(circular array)实现 C++实现
- (C++版)链表(二)——实现单项循环链表创建、插入、删除等操作
- 双向循环链表的C++实现
- 双向循环链表插入算法的C++程序实现
- 队列(queue)的链表(list)实现及循环数组(circular array)实现 C++实现
- Java实现循环链表之节点类
- C++实现循环链表
- 单循环链表C++实现