嵌入式3-19

1、哈希表的代码写完,写出给出关键字,找到该关键字在哈希表(指针数组)中下标的位置,以及在链表中的位置。(因为返回值只有一个,所以结果直接找到通过输出语句输出)

void search(node *H,int key);

2、快速排序和折半查找的代码写一遍

3、整理思维导图

1、

void search(node_p H,int key);
{
    int i = key%MAX;
    node_p q = H[i];
    while(q!=NULL && q->data!=key)
    {
        q = q->next;
    }
    if(q == NULL)
    {
        printf("查找失败\n");
        return 0;
    }else
    {
        printf("查找成功\n");
        return 1;
    }
}

2、

快速排序:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
int one_sort(int *a,int l,int h)
{
    int temp = a[l]; 
    while(h>l)
    {
        while(h>l&&a[h]>temp)
        {
            h--;
        }
        a[l] = a[h];
        while(h>l&&a[l]<temp)
        {
            l++;
        }
        a[h] = a[l];
    }
    a[l] = temp;
    return l;
}
void sort(int *a,int l,int h)
{
    if(h>l)
    {
        int ret = one_sort(a,l,h);
        sort(a,l,ret-1);
        sort(a,ret+1,h);
    }
}
int main(int argc, const char *argv[])
{
    int arr[]={34,78,56,90,12,100,23,76};
    int len = sizeof(arr)/sizeof(arr[0]);
    sort(arr,0,len-1);
    for(int i=0;i<len;i++)
    {
        printf("%d\n",arr[i]);
    }
    return 0;
}

二分查找:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
int half_search(int *arr,int low,int high,int key)
{
    while(high>=low)  
    {
        int mid = (low+high)/2;  
        if(arr[mid]==key)
        {
            return mid;
        }
        else if(arr[mid]>key) 
        {
            high = mid-1;
        }
        else if(arr[mid]<key)  
        {
            low = mid+1;
        }
    }
    return -1;
}
int main(int argc, const char *argv[])
{
    int arr[]={12,34,56,77,86,90};
    int len = sizeof(arr)/sizeof(arr[0]);
    printf("找到的数据的下标为%d\n",half_search(arr,0,len-1,100));
    return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Maven项目如何导入依赖包

一、导入依赖包 导入mysql依赖包 第一步&#xff1a;登录Maven官网 Maven官网&#xff1a;https://mvnrepository.com/search?qmysql 第二步&#xff1a;点击MySql Connector Java 第三步&#xff1a;点击任意一个版本 第四步&#xff1a;将以下内容复制到pom.xml中 导入j…

Unity发布webgl设置占满浏览器运行

Unity发布webgl设置占满浏览器运行 Unity发布webgl的时候index.html的模板文件 模板文件路径&#xff0c;根据自己的需求修改。 C:\Program Files\Unity\Hub\Editor\2021.1.18f1c1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\WebGLTemplates\Default再桌面新建一个t…

随笔-生老病死

周末两天也没有出门&#xff0c;帮着一个朋友做了些图&#xff08;就这两天忙不过来&#xff09;&#xff0c;挣了点外快&#xff08;700&#xff09;&#xff0c;累得腰酸、眼花、脖子疼。 媳妇带着小孩出去玩&#xff0c;中间发了个视频&#xff0c;是小孩进了一个围棋培训班…

HTML基础:列表标签的3种形式以及嵌套列表

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端程序媛。 g.zh后台回复“前端工具”可免费获取开发工具&#xff0c;持续更新 今天聊聊列表标签。列表标签&#xff0c;在网页设计中可以帮助将信息以结构化的方式呈现给用户&#xff0c;提高信息的可读性…

在线教育平台帮助教培机构打造线上

随着互联网的迅猛发展&#xff0c;在线教育逐渐成为了教育行业的主流趋势。为了满足教育机构和学生对高效、便捷在线教育的需求&#xff0c;乔拓云教育系统应运而生。该系统以学员端展示课程和后台管理教务为核心功能&#xff0c;为教育机构提供了一站式解决方案&#xff0c;助…

母亲的奶牛(bfs)

农夫约翰有三个容量分别为 A , B , C A,B,C A,B,C 升的挤奶桶。 最开始桶 A A A 和桶 B B B 都是空的&#xff0c;而桶 C C C 里装满了牛奶。 有时&#xff0c;约翰会将牛奶从一个桶倒到另一个桶中&#xff0c;直到被倒入牛奶的桶满了或者倒出牛奶的桶空了为止。 这一过…

晶圆制造过程中常用载具的类型

晶圆载具用于硅片生产、晶圆制造以及工厂之间晶圆的储存、传送、运输以及防护。晶圆载具种类很多,如FOUP用于晶圆制造工厂中晶圆的传送;FOSB用于硅片生产与晶圆制造工厂之间的运输;CASSETTE载具可用于工序间运送以及配合工艺使用。 OPEN CASSETTE OPEN CASSETTE主要在晶圆…

实战http请求

文章目录 使用python3的标准库发起GET请求使用python3的标准库发起POST请求使用requests库发起GET请求使用requests库发起POST请求使用java 11内置的http client发起访问百度请求使用java 11内置的http client发起访问POST请求进一步阅读与参考资料 使用python3的标准库发起GET…

3.19学习总结

一.题解分析 这是一道bfs的题目,初看毫无头绪,经过点拨后恍然大悟,我们需要记录其六个操作,对每次选择时每个操作进行入队检查,最终得到任意一个罐子里的水等于c,记录其总操作步数,并进行输出.这里的操作类似于走迷宫时,我们设置的方向数组.然后我们在输出操作时,可以用一个数组…

1-postgresql数据库高可用脚本详解

问题&#xff1a; pgrep -f postgres > /dev/null && echo 0 || pkill keepalived 这是什么意思 建议换成 pgrep -f postmaster > /dev/null && echo 0 || pkill keepalived 回答 这条命令是一个复合命令&#xff0c;包含条件执行和重定向的元素。让我们…

Springboot+Redis:实现缓存 减少对数据库的压力

&#x1f389;&#x1f389;欢迎光临&#xff0c;终于等到你啦&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;持续更新的专栏Redis实战与进阶 本专栏讲解Redis从原理到实践 …

根据自己的想法去模拟实现库函数(1)

由于最近比较忙&#xff0c;导致好久没更新了。想我没&#xff1f;嘻嘻&#xff0c;不闹了&#xff0c;开始我们今天的小课堂吧&#xff01; 什么&#xff0c;你想上课走神&#xff1f;小心二叔给你梳头哦&#xff01; 那么这篇文章就先带大家去模拟一下strlen这个函数吧。 st…

01 JDBC介绍

文章目录 JDBC本质版本使用核心APIDriverDriverManager驱动注册连接对象获取 Connection获取执行对象事务管理 Statement概述 ResultSet概述 JDBC本质 官方&#xff08;sun公司&#xff09;定义的一套操作所有关系型数据库的规则&#xff0c;即接口各个数据库厂商去实现这套接…

利用Python爬虫获取xx数据

目录 一、前言 二、requests 请求库 1、requests 安装 2、requests 的基本使用 三、Beautiful Soup 1、Beautiful Soup 安装 2、BeautifulSoup对象介绍与创建 3、BeautifulSoup对象的find方法 四、总结 一、前言 什么是爬虫&#xff1f; 网络爬虫&#xff08;又被称为…

外键约束

目录 外键约束 对数据表进行初期设计&#xff0c;暂时不使用外键 验证限制三 验证级联删除 设置级联更新 Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 外键约束 外键约束主要是在父子表关系中体现的一种约束操作。…

【C++】string 类---字符判断与大小写转换(超详细解析!)

目录 一、string 类的介绍 二、字符大小写转换与判断常用函数 &#x1f4a6; 字符大小写判断 ① isalpha() ② isalnum() ③ isdigit() ④ islower() ⑤ isupper() &#x1f4a6; 字符大小写转换 ① tolower() ✨方法一&#xff1a; ✨方法二&#xff1a; ② toupper() ✨方…

实现:mysql-5.7.42 到 mysql-8.2.0 的升级(二进制方式)

实现&#xff1a;mysql-5.7.42 到 mysql-8.2.0 的升级&#xff08;二进制方式&#xff09; 1、操作环境1、查看当前数据库版本2、操作系统版本3、查看 Linux 系统上的 glibc&#xff08;GNU C 库&#xff09;版本&#xff08;**这里很重要&#xff0c;要下载对应的内核mysql版本…

Java之全体集合!

介绍 容器&#xff0c;就是可以容纳其他Java对象的对象。Java Collections Framework(JCF)为Java开发者提供了通用的容器&#xff0c;其始于JDK 1.2.优点是: 降低编程难度提高程序性能提高API间的互操作性降低学习难度降低设计和实现相关API的难度增加程序的重用性 Java容器里…

JavaSE-09笔记【异常(+2024新)】

文章目录 1. 异常概述2.异常继承结构2.1 编译时异常和运行时异常区别2.2 如何让异常发生&#xff08;throw关键字&#xff09; 3.自定义异常4.异常的处理4.1 第一种处理方式&#xff1a;声明异常 &#xff08;throws关键字&#xff09;4.2 第二种处理方式&#xff1a;捕捉异常 …

Go语言之函数、方法、接口

一、函数 函数的基本语法&#xff1a; func 函数名&#xff08;形参列表&#xff09;&#xff08;返回值列表&#xff09; {执行语句...return 返回值列表 } 1.形参列表&#xff1a;表示函数的输入 2.函数中的语句&#xff1a;表示为了实现某一功能的代码块 3.函数可以有返回…