数据结构实验:哈希表

题目描述

在n个数中,找出出现次数最多那个数字,并且输出出现的次数。如果有多个结果,输出数字最小的那一个。

输入

单组数据,第一行数字n(1<=n<=100000)。
接下来有n个数字,每个数字不超过100000000

输出

出现次数最多的数字和次数。

示例输入

3
1 1 2

示例输出

1 2

#include<stdio.h>
#include<stdlib.h>
struct node {int data;int ans;struct node *next;
}*head[100010];
int main() {int i, n, x, y, shu = -1, ci = -1;struct node *p, *q, *r;for(i=0; i<100000; i++) {head[i] = (struct node *)malloc(sizeof(struct node));head[i]->next = NULL;}scanf("%d", &n);for(i=0; i<n; i++) {scanf("%d", &x);y = x % 100000;p = head[y]->next;q = head[y];while(p != NULL) {if(p->data == x) {p->ans++;if(ci < p->ans) {shu = p->data;ci = p->ans;}else if(ci == p->ans) {if(shu > p->data)shu = p->data;}break;}q = p;p = p->next;}if(p == NULL) {r = (struct node *)malloc(sizeof(struct node));r->data = x;r->ans = 1;if(ci < r->ans) {shu = r->data;ci = r->ans;}else if(ci == r->ans) {if(shu > r->data)shu = r->data;}q->next = r;r->next = NULL;}}printf("%d %d\n", shu, ci);return 0;
}

转载于:https://www.cnblogs.com/Genesis2018/p/8304784.html

数据结构实验:哈希表相关推荐

  1. j - 数据结构实验:哈希表_一看就懂的数据结构基础「哈希表」

    哈希表 哈希表(Hash table),是存储键值(Key Value)对数据的一种数据结构. 例如,我们可以将人的名字作为键,性别作为值来存储.通过把键映射到表中的一个位置来访问数据,以提高查找速度 ...

  2. 用c语言实现基本数据结构(哈希表)

    用c语言实现基本数据结构(哈希表) 写这个哈希表总是段错误,找了半天的bug...原来是各种小错误不断,写得很蛋疼. 我是是用数组实现的,数组的最大值定义成的宏.一共只有四个函数,分别为初始化哈希表, ...

  3. C++八股文分享---数据结构其二---哈希表

    C++八股文分享-数据结构其二-哈希表 前言 什么是哈希表? 搜索二叉树对值的查找是通过从根节点开始,逐个节点与目标值做比较,向下查找,直至找到目标值或是到达根节点未查找到,时间复杂度为O(logn) ...

  4. 图书馆管理系统(C、数据结构、哈希表、文件IO)

    目录 技术路线 实现效果展示 ​程序主体 1.头文件部分 2.自定义函数定义部分 3.main函数部分 注意 技术路线 数据结构.哈希表.文件IO 通过C语言进行程序设计,有用到数据结构中的哈希表,通 ...

  5. 【数据结构】哈希表的概念及应用

    [数据结构]哈希表的概念及应用 前言 1.写出哈希表的基本概念 2.列出常用的哈希函数构造方法,并阐述各自的特点. 直接定址法 除留余数法 数字分析法 其他构造整数关键字的哈希函数的方法: 平方取中法 ...

  6. 「Redis数据结构」哈希表(Dict)

    「Redis数据结构」哈希表(Dict) 文章目录 「Redis数据结构」哈希表(Dict) @[toc] 一.概述 二.结构 三.哈希冲突 四.链式哈希 五.rehash 六. 渐进式 rehash ...

  7. java数据结构实验一顺序表,java数据结构实验代码之升序顺序表

    java数据结构实验代码之升序顺序表 数据结构实验报告 学院:管理学院 班级:13电子商务(1)班 姓名:廖秋君 学号:3213004779 2014年 10月 23 日 目录 一.需求分析----- ...

  8. 数据结构:哈希表函数构造和冲突解决方法

    哈希表 哈希函数:记录的存储位置和它的关键字之间建立一个确定的对应关系. 冲突:对不同的关键字可能得到同一哈希地址,这种现象称为冲突. 哈希函数构造方法 1.直接定址法 取关键字或关键字的某个线性函数 ...

  9. 数据结构例程——哈希表及其运算的实现

    本文是[数据结构基础系列(8):查找]中第11课时[哈希表--散列结构]和第12课时[哈希表的运算]的例程. #include <stdio.h> #define MaxSize 100 ...

  10. Python数据结构:哈希表

    哈希 散列(哈希)是电脑科学中一种对资料的处理方法,通过某种特定的函数/算法(称为散列函数/算法)将要检索的项与用来检索的索引(称为散列,或者散列值)关联起来,生成一种便于搜索的数据结构(称为散列表) ...

最新文章

  1. 马云最新演讲:未来10年,人类将面临AI、IoT和区块链等三大技术巨大挑战!
  2. 2021年春季学期-信号与系统-第十次作业参考答案-第一小题
  3. 没有有效IP配置,无Internet访问,未识别的网络解决方法
  4. python写服务器端qt客户端_python写一些简单的tcp服务器和客户端
  5. DB2 9 使用开辟(733 检验)认证指南,第 2 部分: DB2 数据操作(1)
  6. 技术团队的工程师文化:效率与价值
  7. html5代码书写规范
  8. 在多媒体计算机系统中图像的颜色是,图像量化位数越大,记录图像中每个像素点的颜色种类就越多。() - 试题答案网问答...
  9. 酷睿i7 8750h相当于什么水平 i78750h属于什么级别
  10. 让你的 commit 更有价值(规范)
  11. 通过修改环境变量修改当前进程使用的系统 Temp 文件夹的路径
  12. 计算的威力,智慧的传奇——Fabrice Bellard
  13. 计算机模拟技术在高分子领域的应用,模拟技术的原理、方法及在高分子材料研究中的应用...
  14. 智能农场 阳光温湿度 检测 远程控制开关 机智云
  15. 黑客攻防---从零开始认识黑客,简单认知
  16. 使用Kotlin配合RxJava网络请求
  17. Fiddler 抓包工具使用详解
  18. 「技术选型」深度学习软件如何选择?
  19. C/C++ 实现一个简单的文本编辑器(windows程序设计)
  20. 深度学习调参:优化算法,优化器optimizer,学习率learning rate

热门文章

  1. 苹果的程序员三大定律
  2. 网站CSS样式不起作用,或只有一部分起作用?随手记
  3. BZOJ1010 [HNOI2008]玩具装箱toy 动态规划 斜率优化
  4. leetCode #26 Remove Duplicates from Sorted Array
  5. c# DirectoryInfo 类和 FileInfo 类
  6. Android中实现APP文本内容的分享发送与接收方法简述
  7. 并不算复杂的正则表达式基础
  8. 整合Hibernate3.x
  9. IOS上 关于状态栏的相关设置(UIStatusBar)和preferredStatusBarStyle不执行问题
  10. IOS 开发-- 常用-- 核心代码