寒假作业-day4

1>请编程实现哈希表的创建存储数组{12,24,234,234,23,234,23},输入key查找的值,实现查找功能。

代码:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
typedef int datatype;
typedef struct Node{datatype data;struct Node *next;
}*node;int maxprime(int m);
node create();
void insert_hash(int key,int p,node hash[]);
void output(node hash[],int m);
void search_hash(datatype key,int p,node hash[]);int main(int argc,const char *argv[]){int arr[]={12,24,234,234,23,234,23};int len=sizeof(arr)/sizeof(arr[0]);int m=len*4/3;int p=maxprime(m);node hash[m];for(int i=0;i<m;i++)hash[i]=NULL;for(int i=0;i<len;i++){insert_hash(arr[i],p,hash);output(hash,m);}
//	search_hash(23,p,hash);return 0;
}int maxprime(int m){for(int i=m;i>=2;i--){int flag=0;for(int j=2;j<sqrt(i);j++){if(i%j==0)flag=1;break;}if(flag==0)return i;}
}
node create(){node p=(node)malloc(sizeof(struct Node));if(!p)return NULL;p->data=0;p->next=NULL;return p;
}
void insert_hash(int key,int p,node hash[]){int index=key%p;node q=create();q->data=key;if(!hash[index]){hash[index]=q;}else{q->next=hash[index];hash[index]=q;}
}void output(node hash[],int m){for(int i=0;i<m;i++){node p=hash[i];printf("hash[%d]:",i);while(p){printf("%d\t",p->data);p=p->next;}puts("");}puts("------------------------------");
}
void search_hash(datatype key,int p,node hash[]){int index=key%p;node q=hash[index];int flag=0;while(q){if(q->data==key){printf("can find %d\n",key);flag=1;break;		}q=q->next;}if(flag==0)printf("No\n");
}

结果:

2>现有数组{12,23,45,56,445,5676,6888},请输入key实现二分查找。

代码:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>int search(int arr[],int key,int low,int high){while(low<=high){int mid=(low+high)/2;if(arr[mid]==key)return mid;if(arr[mid]>key)return search(arr,key,low,mid-1);if(arr[mid]<key)return search(arr,key,mid+1,high);}return -1000000;
}
int main(int argc,const char *argv[]){int arr[]={12,23,45,56,445,5676,6888};int len=sizeof(arr)/sizeof(arr[0]);int key;printf("请输入关键字:");scanf("%d",&key);printf("%d\n",search(arr,key,0,len-1));return 0;
}

结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/669874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ PE文件信息解析

尝试解析PE文件结构, 于是编写了此PE信息助手类, 暂时完成如下信息解析 1.导入表信息 2.导入表信息 3.资源表信息 CPEHelper.h #pragma once// // brief: PE文件解析助手类 // copyright: Copyright 2024 FlameCyclone // license: // birth: Created by Visual Studio 20…

springboot 引入netty时,Handler方法中使用@Autowared失效

原因&#xff1a; netty 中无法使用注入的bean&#xff0c;因为NettyClientHandler 是netty启动的时候new出来&#xff0c;并没有交给spring IOC托管&#xff0c;后面给NettyClientHandler 加上Component 注解也不行&#xff0c;因为netty 的加载优于spring容器初始化&#xff…

软件价值8-站点连通性检查

站点连通性检查&#xff0c;即看网站是否能访问得通&#xff0c;实用价值不大&#xff0c;不过用来作软件应用入门还不错。 代码&#xff1a; import urllib.request import tkinter as tkdef test_connectivity():window tk.Tk()window.geometry(600x400)window.resizable(F…

蓝桥杯基础知识6 pair

蓝桥杯基础知识6 pair pair 的定义和结构&#xff1a;在C中&#xff0c;pair是一个模板类&#xff0c;用于表示一对值的组合&#xff0c;头文件<utility>。 pair类 的定义&#xff1a; template<class T1, class T2> struct pair{T1 first; // 第一个值T2 seco…

输出超级玛丽2_题解

【题解提供者】吴立强 解法 思路 本题代码非常简单&#xff0c;直接一行一行对齐后输出即可&#xff0c;只是比较麻烦。 代码展示 #include <iostream> using namespace std;int main() {printf(" ********\n");printf(" …

软件漏洞概念与原理

本文已收录至《全国计算机等级考试——信息 安全技术》专栏 官方定义 漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷&#xff0c;从而可以使攻击者能够在未授权的下访问或破坏系统。 基本理解 漏洞是硬件、软件、协议在生命周期的各个阶段&#xff08;设计…

小程序之一———— 文件重命名

使用python程序对文件进行集体重命名 1&#xff1a;为什么要写这个&#xff1f;2&#xff1a;书写思路3&#xff1a; 程序主体 1&#xff1a;为什么要写这个&#xff1f; 因为收到一堆文件&#xff0c;但是命名方式是 12427823_这是书名.pdf 这样的&#xff0c;不方便查看&…

普通编程,机器学习与深度学习

普通编程&#xff1a;基于人手动设置规则&#xff0c;由输入产生输出经典机器学习&#xff1a;人手工指定需要的特征&#xff0c;通过一些数学原理对特征与输出的匹配模式进行学习&#xff0c;也就是更新相应的参数&#xff0c;从而使数学表达式能够更好的根据给定的特征得到准…

十大排序算法之线性时间比较类排序

线性时间比较类排序 线性时间的算法执行效率也较高&#xff0c;从时间占用上看&#xff0c;线性时间非比较类排序要优于非线性时间排序&#xff0c;但其空间复杂度较非线性时间排序要大一些。因为线性时间非比较类排序算法会额外申请一定的空间进行分配排序&#xff0c;这也是…

Java 学习和实践笔记(1)

2024年&#xff0c;决定好好学习计算机语言Java. B站上选了这个课程&#xff1a;【整整300集】浙大大佬160小时讲完的Java教程&#xff08;学习路线Java笔记&#xff09;零基础&#xff0c;就从今天开始学吧。 在这些语言中&#xff0c;C语言是最基础的语言&#xff0c;绝大多…

Blender_pmx导出fbx

Blender_pmx导出fbx 学无止境&#xff1f; 相关链接&#xff1a; Blender教程&#xff1a; Blender中文手册介绍 — Blender Manualhttps://docs.blender.org/manual/zh-hans/2.79/about/introduction.htmlhttps://www.blendercn.org/https://www.blendercn.org/Blender下载…

1978-2023年全国整体GDP平减指数计算模板(含计算公式代码+计算结果且可任意调整基期)

1978-2023年全国整体GDP平减指数、实际GDP数据&#xff08;可任意调整基期&#xff09; 1、时间&#xff1a;1978-2023年 2、来源&#xff1a;国家统计局、统计年鉴 3、指标&#xff1a;名义GDP、实际GDP、国内生产总值指数、GDP平减指数 4、数据内含原始数据计算公式代码&…

OpenStack-Swift分片存储

1.规划节点 IP主机名节点192.168.100.10controllerOpenStack控制节点192.168.100.20computeOpenStack计算节点 2.环境准备​ 使用OpenStack平台的两台节点&#xff0c;自行使用脚本安装Swift对象存储服务。然后使用这两台进行实验。节点规划表中的IP地址为作者的IP地址&#…

JVM 性能调优 - JVM 参数基础(2)

查看 JDK 版本 $ java -version java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode) 查看 Java 帮助文档 $ java -help 用法: java [-options] class [args...] …

牛客“迎新春,过大年”多校程序设计竞赛A题

题目描述&#xff1a; 这里有个小trick 当时也看到数据范围的问题了 n 是 1 e 6 ∑ i 1 n a [ i ] < 5 e 7 n是1e6 \quad \sum_{i1}^na[i]<5e7 n是1e6∑i1n​a[i]<5e7 我们考虑不同的数 1 2 . . . k − 1 k 1 \quad 2 \quad ... k-1 \quad k 12...k−1k s u m …

【UE 材质】扇形材质

目录 效果 步骤 &#xff08;1&#xff09;控制扇形的弧宽度 &#xff08;2&#xff09;控制扇形的角度 &#xff08;3&#xff09;完整节点 效果 步骤 &#xff08;1&#xff09;控制扇形的弧宽度 创建一个材质&#xff0c;混合模式设置为“Additive”&#xff0c;着色…

论文阅读——MP-Former

MP-Former: Mask-Piloted Transformer for Image Segmentation https://arxiv.org/abs/2303.07336 mask2former问题是&#xff1a;相邻层得到的掩码不连续&#xff0c;差别很大 denoising training非常有效地稳定训练时期之间的二分匹配。去噪训练的关键思想是将带噪声的GT坐标…

【c++】跟webrtc学引用计数

rtc::RefCountInterface 接口类 G:\CDN\rtcCli\m98\src\rtc_base\ref_count.h引用计数想形成一种树状结构 // Interfaces where refcounting is part of the public api should // inherit this abstract interface. The implementation of these // methods is usually provid…

linux系统mysql数据库使用keepalived做高可用

mysql使用keepalived做高可用 mysqlkeepalived主库服务器配置从库服务器配置两台服务器安装 mysqlkeepalived 先做两台服务器数据库互为主从 主库服务器配置 开启binlog服务 mkdir -pv /data/ //创建存放binlog日志目录 chown mysql.mysql /data //修改目录所有者和…

抖音直播总是被提示违规怎么办?直播违规操作怎么补救?

一、抖音直播总是被提示违规怎么办 了解违规原因&#xff1a;首先&#xff0c;要仔细阅读抖音给出的违规提示&#xff0c;了解具体是哪些行为或内容导致了违规。这样&#xff0c;才能有针对性地调整直播策略。 遵循平台规则&#xff1a;熟悉并严格遵循抖音的直播规则是避免违…