找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 834|回复: 0

[讨论]算法实现题 众数问题

[复制链接]
发表于 2009-11-3 02:27:13 | 显示全部楼层 |阅读模式 IP:江苏扬州
«问题描述:
给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重
集S中重数最大的元素称为众数。
例如,S={1,2,2,2,3,5}。
多重集S的众数是2,其重数为3。
«编程任务:
对于给定的由n 个自然数组成的多重集S,编程计算S 的众数及其重数。
«数据输入:
输入数据由文件名为input.txt的文本文件提供。
文件的第1行多重集S中元素个数n;接下来的n 行中,每行有一个自然数。
«结果输出:
程序运行结束时,将计算结果输出到文件output.txt中。输出文件有2 行,第1 行给
出众数,第2 行是重数。
输入文件示例 输出文件示例
input.txt
6
1
2
2
2
3
5

output.txt

2
3



这是算法...
但我还看不懂...
我认为文件操作还好弄.就算法,它是用递归来做的.


void mode(int LL,int RR)
{
int L1,R1;
int med=median(a,LL,RR);
split(a,med,LL,RR,L1,R1);
if(largest<R1-L1+1) largest=R1-L1+1;element=med;
if(L1-LL>largest) mode(LL,L1-1);
if(RR-R1>largest) mode(R1+1,RR);
}
//median用于找中位数,split用中位数将数组分2为段.



[此问题还有待解决,谢谢各位的参与!]


//首先在此文件夹下建立名为qingsongin2.txt的文件
//其内容为6 1 2 2 2 3 5 之格式.其中第一的数为数组表长度
#include<iostream>
#include<fstream>
#define MAXSIZE 20
using namespace std;
typedef int KeyLype;
typedef int Status;
typedef struct {
KeyLype key;
} RedType;
typedef struct {
RedType r[MAXSIZE + 1];
int length;
} SqList;
int SelectSort(SqList &L)
{
int i,j,t;
for(j=0;j<L.length;j++)
for(i=1;i<=L.length-j;i++)
if(L.r[i].key<L.r[i-1].key)
{
t=L.r[i].key;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 09:18 , Processed in 0.192028 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表