数据结构实验:哈希表

发布时间:2017-6-28 4:37:34 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"数据结构实验:哈希表",主要涉及到数据结构实验:哈希表方面的内容,对于数据结构实验:哈希表感兴趣的同学可以参考一下。

题目描述  在n个数中,找出出现次数最多那个数字,并且输出出现的次数。如果有多个结果,输出数字最小的那一个。 输入  单组数据,第一行数字n(1<=n<=100000)。 接下来有n个数字,每个数字不超过100000000 输出  出现次数最多的数字和次数。 示例输入 3 1 1 2 示例输出 1 2 提示   来源  cz 示例程序 #include <stdio.h> #include <stdlib.h> const int N=100000; int a[100000]; struct node { int date; node *next; }*h[N]; void suspend(int x) { int tp=x%N; node *p=new node; p->date=x; p->next=h[tp]; h[tp]=p; } int find1(int x) { int tp = x%N; int cnt = 0; for (node *p = h[tp]; p; p = p->next) { if (p->date == x) cnt++; } return cnt; } int main() { int n, i, x, y, z=0; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); suspend(a[i]); } for(i=0;i<n;i++) { if(z<find1(a[i])) { z=find1(a[i]); y=i; } } printf("%d %d\n",a[y],z); return 0; }

上一篇:[置顶] 博客搬家
下一篇:Mac下OpenCV开发

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。