根据给定的一系列整数关键字和素数p,用除留余数法定义hash函数H(Key)=Key%p,将关键字映射到长度为p的哈希表中,用线性探测法解决冲突。重复关键字放在hash表中的同一位置。

#include<stdio.h>
void insert_hash(int arr[],int tmp,int lenth)
{int i=tmp%lenth;while(arr[i]!=0&&arr[i]!=tmp){i++;//而且,要注意:这个循环的技巧,必须是先i++,再取余。i%=lenth;}arr[i]=tmp;
}int search_hash(int arr[],int tmp,int lenth)
{int i=tmp%lenth;while(arr[i]!=tmp)//这个循环要注意,应该先i++,再取余。{i++;i%=lenth;   //真神奇!要是把i++放到取余的后面,程序就死循环了。}return i;
}int main()
{int n,p;scanf("%d %d",&n,&p);int i,arr[1000]={0},tmp[1000];int index;for(i=0;i<n;i++){scanf("%d",&tmp[i]);insert_hash(arr,tmp[i],p);}for(i=0;i<n;i++){index=search_hash(arr,tmp[i],p);printf("%d",index);if(i!=n-1) printf(" ");}return 0;
}

YTU oj3386相关推荐

  1. ytu 1057: 输入两个整数,求他们相除的余数(带参的宏 + 模板函数 练习)

    1057: 输入两个整数,求他们相除的余数 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 177  Solved: 136 [Submit][Stat ...

  2. YTU 1495 蛇行矩阵 YTU 1607 字符棱形YTU 1959 图案打印YTU 2016 打印金字塔

    YTU1495: 蛇行矩阵 题目描述: Time Limit: 1 Sec  Memory Limit: 64 MB 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形. Input 本题有多组数 ...

  3. 用c语言实现单链表的初始化,建表,查找,求长度,插入,删除等操作,【YTU+2430+C语言习题+链表建立+插入+删除+输(5)...

    的打印.判断链表是否为空.计算链表长度.插入节点.删除节点.删除整个链表.(2) 线性表adt顺序存储实现中的创建.查找.插入和删除等基本操作及相关算法,线性表adt链式存储实现中单链表.循环链表和双 ...

  4. ytu 1980:小鼠迷宫问题(DFS 深度优先搜索)

     小鼠迷宫问题 Time Limit: 2 Sec  Memory Limit: 64 MB Submit: 1  Solved: 1 [Submit][Status][Web Board] Desc ...

  5. YTU 《过瘾的打折季》

    YTU <过瘾的打折季> 问题 G: 过瘾的打折季 时间限制: 1 Sec 内存限制: 128 MB 提交: 508 解决: 338 [提交][状态][讨论版][命题人:helijian_ ...

  6. YTU OJ Problem 3013

    YTU OJ Problem 3013 皇后问题(递归) 题目描述 编写一个函数,求解皇后问题:在 n × n 的方格棋盘上,放置 n 个皇后,要求每个皇后不同行.不同列.不同左右对角线. 要求: 1 ...

  7. YTU OJ Problem 2013

    YTU OJ Problem 2013 C语言实验 - 一元二次方程 II 题目描述 求一元二次方程ax²+bx+c=0 的解. a,b,c为任意实数. 输入 输入数据有一行,包括 a,b,c 的值. ...

  8. 用c语言编制牛顿法程序,求解试用newton法求函数,YTU 2405: C语言习题 牛顿迭代法求根...

    2405: C语言习题 牛顿迭代法求根 时间限制: 1 Sec  内存限制: 128 MB 提交: 562  解决: 317 题目描述 用牛顿迭代法求根.方程为ax3+bx2+cx+d=0.系数a,b ...

  9. 操作系统仿真实验(YTU)

    实验一:资源分配仿真 实目的 在课程已经学习了死锁的4个必要条件的基础上,为了了解系统的资源分配情况,假定系统中任一资源在每一时刻只能由一个进程使用,任何进程不能抢占其它进程正在占有的资源,当进程得不 ...

最新文章

  1. ubuntu下安装windows虚拟机
  2. 华为离职副总裁徐家骏:透露年薪千万的工作感悟,太震撼了!
  3. 数据拆分_数据拆分,偏方请拿好
  4. Python eval 与 exec 函数区别 - Python零基础入门教程
  5. 通过有向图的可达矩阵判断有向图的连通类型
  6. 一文读懂局域网、广域网、WLAN、WiFi的联系与区别
  7. android 获取方法名,Android获取渠道名称
  8. win10 1050Ti 笔记本配置 TensorFlow-gpu 过程(多图超详细)
  9. 把视频解码为本地图片的简单方法
  10. ppt学习07——动画
  11. 《网络攻防》 免杀原理与实践
  12. 旋转机械设备故障诊断的轴心轨迹总结
  13. 如何区分形式主语和强调句
  14. 阿里巴巴收购家装公司匠多多 持股20%
  15. 软件工程-个人作业-提问回顾与个人总结
  16. 近年来火热软件有哪些创意
  17. Oracle 11g数据库基础教程(第2版)-课后习题-第七章
  18. 闲着无聊,撸个微信导航栏的动画吧!
  19. 711便利店算法java_G711算法学习
  20. Android_GitHub_jsoup(一)简介、入门、输入

热门文章

  1. vue el-table的合并单元格与拆分单元格
  2. JavaScript最详细攻略
  3. 计算机无法启动蓝屏,电脑无法开机一直蓝屏原因及处理方法
  4. macOS开发入门教程 : Part 2
  5. Excel怎么调出开发工具选项
  6. 地震学类毕业论文文献都有哪些?
  7. day 54 django-图书管理系统_出版社的管理(展示,新增,删除,编辑)
  8. 使用moviepy.editor剪辑视频,批量截取视频片段
  9. 鸿蒙3部曲先看哪部,“斗罗”有四作,那当年齐名的“鸿蒙”系列到底有“几部曲”?...
  10. 学生护眼台灯哪个牌子最好?高品质的护眼灯推荐