如何用C++来实现在循环链表里展示除了最后一个节点,然后返回所展示的节点总和
来源:互联网 发布:python 生物信息 编辑:程序博客网 时间:2024/06/06 12:22
题目的意思是:Display all data except the last node’s data item in CLL and return the sum of data items displayed
题目中的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
下面是结果的展示:
阅读全文
0 0
- 如何用C++来实现在循环链表里展示除了最后一个节点,然后返回所展示的节点总和
- 使用递归来实现在循环链表里删除第一节点不是数字‘2’
- 将单链表中的第一个节点的数字复制,然后将复制好的数字添加到最后一个节点,然后返回新的链表的最后两个节点的和
- 如何用C++递归来删除所有的BST节点
- To_10_r_100_8_4---用一种算法在一个循环的链接表里插入一个节点,但不得穿越链接表
- 在无头节点的单链表里删除元素
- java xml文件的节点数展示
- js 找出当前元素所包含的最后一个元素节点(不是文本节点)
- 展示如何用证书签名一个存储过程
- 试编写一个函数,返回一颗给定二叉树在中序遍历下的最后一个节点(分别用递归和非递归实现)
- 不良代码展示-不要用数组循环判断等于的方式,来判断一个对象是否在一个集合内
- 【C++】模板实现带头节点的双向循环链表
- 使用递归来解决在单链表里删除第一节点不是数字‘2’
- 使用递归来实现双向链表里删除第一节点不是数字‘2’
- 如何用silverlight 做用于图片展示的画廊
- html页面如何用iOS的原生控件展示
- 如何用C++递归来查找BST中的根节点的inorder successor
- Jstree树形控件实现树形结构展示+自定义节点图标
- Spark问题:System memory 259522560 must be at least 4.718592E8. Please use a larger heap size.
- Linux 3.14 特性汇总
- GB28181 实时视频点播流程
- OD 使用笔记
- 回滚到历史版本后,找回未push的commit
- 如何用C++来实现在循环链表里展示除了最后一个节点,然后返回所展示的节点总和
- Oracle--端口占用
- IntelliJ IDEA 快捷键
- java常用类库---日期操作类(1)
- 常用video标签上传之后展示
- 【NOIP2017提高A组集训10.25】天才绅士少女助手克里斯蒂娜(树状数组)
- 2013ICPC 长春I HDU 4821 String 字符串哈希
- spring mvc
- 实验一(java编程)