在单链表里如何将所有的unique data进行average
来源:互联网 发布:java下载原理 编辑:程序博客网 时间:2024/05/16 17:55
原题目是:Calculate the average of all unique data in a LLL
题目中的LLL就是linear linked list,翻译成就是单链表。
至于单链表的知识点,小编就不在此介绍了。
下面是代码展示
//This is the list.h#include<iostream>#include<cctype>#include<cstring>using namespace std;struct node{ int data; node * next;};class list{ public: //These funtions are already writter to you list(); //supplied ~list(); //supplied void build(); //supplied void display(); //supplied //Average all the unique data in the LLL float average_unique(); private: //Average all the unique data in the LLL float average_unique(node * head, node * current, int & num); int average_unique(node * head, int num);};
解释一下,在.h文件里,在private session,参数num 为什么要return by reference? 因为这个num是专门将所有的unique data求和的结果存储起来的。
下面是展示如何用递归来实现这个功能:
//This is the list.cpp file#include "list.h"float list::average_unique(){ int num = 0; float result = average_unique(head,head,num); return float(num / result);}float list::average_unique(node * head, node * current, int & num){ if(!head || !current) return 0.0; if(average_unique(head,current->data) == 1) { cout<<current->data<<" "; num += current->data; return average_unique(head,current->next,num) + 1; } return average_unique(head,current->next,num);}int list::average_unique(node * head, int num){ if(!head) return 0; if(head->data == num) return average_unique(head->next,num) + 1; return average_unique(head->next,num);}
如果大家会如何找到unique data,那么这儿将所有的unique data进行average,那应该不是很难,就是添加一点运算。
下面是运行结果展示:
这就是如何实现这个功能的代码。
阅读全文
1 0
- 在单链表里如何将所有的unique data进行average
- 如何在单链表里复制不是数字'2',然后将复制好的内容存储到数组中
- 在无头节点的单链表里删除元素
- 查询数据表里所有重复里的单条记录
- 在链表里如何发现循环链接?
- 在链表里如何发现循环链接
- 如何判断单链表里是否有环以及查找环的入口
- 怎么在Excel 表里的所有sheet查找
- 多项式加法在单项链表里的表现
- [VB.NET]如何将Access数据库里的a表里的部分数据移到b表里
- 如何判断单链表里面是否有环?
- 如何判断单链表里面是否有环【转载】
- 如何判断单链表里面是否有环【转载】
- 如何判断单链表里面是否有环
- 如何判断单链表里面是否有环
- 如何判断单链表里面是否有环?
- 如何判断单链表里面是否有环
- 如何判断单链表里面是否有环?
- 程序员
- List 分组实现
- javaScript中eval()函数详解
- 前端学习路线--计划制定
- 2017第十八届广州金融理财博览会会刊(参展商名录)
- 在单链表里如何将所有的unique data进行average
- UVa11992
- 【Kafka源码】Kafka代码模块
- mongodb命令
- Android 获取电池电量
- Powershell 5.1 脚本化配置 Windows 2016 & SQL Server 2016 无域 AlwaysOn AG
- 关于Unable to read additional data from server sessionid 0x0问题的解决。
- 解决Quartz的Job类中使用注解Service为null的办法
- String、StringBuffer与StringBuilder之间区别