寒假作业-day4

2024-02-06 09:04
文章标签 day4 寒假作业

本文主要是介绍寒假作业-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;
}

结果:

这篇关于寒假作业-day4的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/683801

相关文章

算法训练营——day4螺旋矩阵

1 螺旋矩阵II-力扣59(中等) 1.1 题目:螺旋矩阵II 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n = 3输出:[[1,2,3],[8,9,4],[7,6,5]] 示例 2: 输入:n = 1输出:[[1]] 提示: 1 <= n <= 20 1.

Android智能家居实训day4

今天进行了服务器的部署,和服务器的连接,以及进行了代码整合 再进行学习之前又对线程的知识进行了回顾因为进行连接服务器的时候要通过子线程来进行,线程的启动使用start函数,如果使用run函数相当于执行了一个函数而不是新创建一个子线程。 服务器的部署并没有深究,只是把服务器代码的压缩包放到了虚拟机上。 连接的时候首先要给AndroidManifest.xml文件添加网络权限,其次就是把防火墙关掉。

urfread刷算法题day4|27. 移除元素+复习

27. 移除元素 题目描述 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作:更改 nums 数组,使 nums 的前 k 个元素包含不等于 val 的元素。nums 的其余元素和 nums

【进阶篇-Day4:使用JAVA编写石头迷阵游戏】

目录 1、绘制界面2、打乱石头方块3、移动业务4、游戏判定胜利5、统计步数6、重新游戏7、完整代码: 1、绘制界面 上述思路是:使用一个二维数组存放图片的编号,然后在后持遍历即可获取对应的图片。 代码如下: package com.itheima.stonepuzzle;import javax.swing.*;public cla

华为实习day4

今天开始真正的研究工作,内容当然是我大前端。工作大致是下面这些, 1.学习使用华为办公软件和学习平台(espace,3ms等) 2.学习JavaScript和Jquery(阅读JavaScript权威指南和锋利的Jquery两本书),粗略的看完JavaScript这本书,明白了JavaScript的基本知识,会运用JavaScript做一些简单的页面。 3.仿照书上的例子自己实现了一

计算机网络学习记录 网络层 Day4(下)

计算机网络学习记录 网络层 Day4 (下) 你好,我是Qiuner. 为记录自己编程学习过程和帮助别人少走弯路而写博客 这是我的 github https://github.com/Qiuner ⭐️ ​ gitee https://gitee.com/Qiuner 🌹 如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴的 😄 (^ ~ ^) 想看更多 那就点个关注吧 我会尽力带来有趣的内

day4 数1 隐函数

基础知识 隐函数 :一个方程里边 使x有1个y与之对应 函数的有界性 f(X) 的值大于-M并小于M 单调性 可以用定义发判断单调性 定义法 奇函数 奇函数关于原点对称,偶关于x对称 定义域要关于原点对称 任何一个函数可以写成奇函数+偶函数的形式 复合函数的奇偶 函数和它导数的奇偶性相反 当下限为a时,偶函数的积分未必为奇,要考虑常数C

算法题day37日(补5.23日卡:贪心算法day4)

一、刷题: 1.leetcode题目 860. 柠檬水找零 - 力扣(LeetCode)(easy): 我觉得我写的代码有点蠢 class Solution:def lemonadeChange(self, bills: List[int]) -> bool:dict_ = {5:0,10:0}if bills[0] != 5:return Falsefor i in bills:if i

【WEEK14】 【DAY4】Swagger Part 2【English Version】

2024.5.30 Thursday Following up on 【WEEK14】 【DAY3】Swagger Part 1【English Version】 Contents 16.4. Configure Scanned Interfaces16.4.1. Modify SwaggerConfig.java16.4.1.1. Use the .basePackage() Metho