【数据结构——查找】顺序查找(头歌实践教学平台习题)【合集】
目录😋
任务描述
相关知识
测试说明
我的通关代码:
测试结果:
任务描述
本关任务:实现顺序查找的算法。
相关知识
为了完成本关任务,你需要掌握:1.根据输入数据建立顺序表,2.顺序表的输出,3.顺序查找算法。
提示:
顺序查找算法中要依次输出与k所比较的关键字,用空格分隔开。假设顺序表中R的关键字依次是3,6,2,10,1,8,5,7,4,9,
若查找的关键字k=5,则SeqSearch函数输出是3,6,2,10,1,8,5,并返回值7。
若查找的关键字为k=15,则函数输出是3,6,2,10,1,8,5,7,4,9,并返回值0。
测试说明
平台会对你编写的代码进行测试:
程序输入示例:
3 6 2 10 1
2
(说明:第一行是输入的一组原始关键字数据,第二行是要查找的关键字)
程序输出示例1:
请输入一组数据 :
关键字序列:3 6 2 10 1
请输入要查找的关键字 :2
查找5所比较的关键字: 3 6 2
元素5的位置是3
程序输出示例2:
请输入一组数据 :
关键字序列:3 6 2 10 1
请输入要查找的关键字 :8
查找15所比较的关键字: 3 6 2 10 1
元素15不在表中
开始你的任务吧,祝你成功!
我的通关代码:
#include <iostream>
#include <vector>
using namespace std;
// 定义查找元素的结构体类型,包含关键字和其他数据(这里暂未详细使用其他数据部分)
struct RecType {int key;// 可以按需添加其他数据成员及对应操作,此处简化只关注关键字key
};// 创建顺序表,将输入的关键字数据存入顺序表中
void CreateList(vector<RecType> &R, const vector<int> &keys) {for (size_t i = 0; i < keys.size(); ++i) {RecType temp;temp.key = keys[i];R.push_back(temp);}
}// 输出顺序表的函数,遍历顺序表并输出每个元素的关键字
void DispList(const vector<RecType> &R) {for (size_t i = 0; i < R.size(); ++i) {cout << R[i].key << " ";}cout << endl;
}// 顺序查找算法,按照要求输出比较的关键字,并返回查找结果
int SeqSearch(const vector<RecType> &R, int k) {for (size_t i = 0; i < R.size(); ++i) {cout << R[i].key << " ";if (R[i].key == k) {return i + 1; // 返回位置,这里的位置是从1开始计数,所以下标加1}}return 0; // 如果没找到,返回0表示元素不在表中
}int main() {vector<RecType> R;vector<int> keys;cout << "请输入一组数据 :" << endl;int num;while (cin >> num) {keys.push_back(num);if (cin.get() == '\n') {break;}}CreateList(R, keys);cout << "关键字序列:";DispList(R);int k;cin >> k;cout << "请输入要查找的关键字 :" << k << endl;cout << "查找" << k << "所比较的关键字: ";int result = SeqSearch(R, k);if (result != 0) {cout << endl << "元素" << k << "的位置是" << result << endl;} else {cout << endl << "元素" << k << "不在表中" << endl;}return 0;
}
测试结果:


相关文章:
【数据结构——查找】顺序查找(头歌实践教学平台习题)【合集】
目录😋 任务描述 相关知识 测试说明 我的通关代码: 测试结果: 任务描述 本关任务:实现顺序查找的算法。 相关知识 为了完成本关任务,你需要掌握:1.根据输入数据建立顺序表,2.顺序表的输出,…...
Python的3D可视化库【vedo】2-1 (plotter模块) 绘制器的使用
文章目录 1 相关用语及其关系2 Plotter类的基本使用3 Plotter类具体的初始化设置3.1 全部初始化参数3.2 使用不同的axes vedo是Python实现的一个用于辅助科学研究的3D可视化库。 vedo的plotter模块封装了绘制器类Plotter。 Plotter实例可以用于显示3D图形对象、控制渲染器行为、…...
6.1 初探MapReduce
MapReduce是一种分布式计算框架,用于处理大规模数据集。其核心思想是“分而治之”,通过Map阶段将任务分解为多个简单任务并行处理,然后在Reduce阶段汇总结果。MapReduce编程模型包括Map和Reduce两个阶段,数据来源和结果存储通常在…...
【数模学习笔记】模糊综合评价
声明:以下笔记中的图片均来自“数学建模学习交流”清风老师的课程ppt,仅用作学习交流使用 模糊综合评价 文章目录 模糊综合评价模糊数学经典集合和模糊集合的基本概念经典集合和特征函数模糊集合和隶属函数模糊集合的分类 隶属函数的确定方法方法一 模糊…...
【C语言】库函数常见的陷阱与缺陷(四):内存内容操作函数[1]--memcmp
目录 一、功能与用法 1.1. 功能 1.2. 场景用法 二、陷阱与缺陷 2.1. 比较范围限制问题 2.2. 数据类型兼容性隐患 2.3. 其它 三、安全使用建议 四、代码示例 在 C 语言编程的世界里,内存内容操作函数宛如精密的工具,肩负着操控内存数据的重任。它们能灵活地复制、移动…...
jmeter CLI Mode 传参实现动态设置用户数
一.需求 CLI 运行模式下每次运行想要传入不同的用户数,比如寻找瓶颈值的场景,需要运行多次设置不同的用户数。 二.解决思路 查看官方API Apache JMeter - Users Manual: Getting Started api CLI Mode 一节中提到可以使用如下参数做属性的替换&#…...
数据库和SQL的基本概念
目录 定义数据分类非结构化数据:半结构化数据 : 结构化数据 : SQL(Structured Query Language)概念分类 数据库管理概念理解 定义 数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。 数据库是长期储存在计算机内、有组织的…...
CSS系列(9)-- Transform 变换详解
前端技术探索系列:CSS Transform 变换详解 🔄 致读者:探索 CSS 变换的魔力 👋 前端开发者们, 今天我们将深入探讨 CSS Transform,学习如何创建引人注目的 2D 和 3D 变换效果。 2D 变换基础 Ὠ…...
一些浅显易懂的IP小定义
IP归属地(也叫IP地址,IP属地) 互联网协议地址,每个设备上的唯一的网络身份证明。用于确保网络数据能够精准传送到你的设备上。 基于IP数据云全球IP归属地解析,示例Python代码 curl -X POST https://route.showapi.co…...
C 语言动态爱心代码
C 语言动态爱心代码 代码 #include <stdio.h> #include <math.h> #include <windows.h> #include <tchar.h> float f(float x, float y, float z) {float a x * x 9.0f / 4.0f * y * y z * z - 1;return a * a * a - x * x * z * z * z - 9.0f / …...
【Figma_01】Figma软件初始与使用
Figma初识与学习准备 背景介绍软件使用1.1 切换主题1.2 官方社区 设计界面2.1 创建一个项目2.2 修改文件名2.3 四种模式2.4 新增界面2.5 图层2.6 工具栏2.7 属性栏section透明度和圆角改变多边形的边数渐变效果描边设置阴影等特效拖拽相同的图形 背景介绍 Ul设计:User Interfa…...
【Python篇】PyQt5 超详细教程——由入门到精通(序篇)
文章目录 PyQt5 超详细入门级教程前言序篇:1-3部分:PyQt5基础与常用控件第1部分:初识 PyQt5 和安装1.1 什么是 PyQt5?1.2 在 PyCharm 中安装 PyQt51.3 在 PyCharm 中编写第一个 PyQt5 应用程序1.4 代码详细解释1.5 在 PyCharm 中运…...
day2 数据结构 结构体的应用
思维导图 小练习: 定义一个数组,用来存放从终端输入的5个学生的信息【学生的信息包含学生的姓名、年纪、性别、成绩】 1>封装函数 录入5个学生信息 2>封装函数 显示学生信息 3>封装函数 删除第几个学生信息,删除后调用显示学…...
CSS 进阶教程:从定位到动画与布局
文章目录 🌟 CSS 进阶教程:从定位到动画与布局🌟 目录🌟 1. 定位**Static(默认定位)****Relative(相对定位)****Absolute(绝对定位)****Fixed(固定…...
Nginx性能优化全方案:打造一个高效服务器
Nginx性能优化全方案:打造一个高效服务器 调整工作进程数和线程数调整工作进程数调整线程数 启用Gzip压缩安装Gzip模块配置Gzip压缩 配置缓存策略配置浏览器缓存时间配置代理服务器缓存时间 优化文件访问方式使用sendfile()函数发送文件数据启用sendfile_max_chunk和…...
详解Maven的setting配置文件中mirror和repository的区别
在Maven的setting中,我们常常会用到mirror和repository配置,其中mirror是镜像的意思,而repository则是仓库的意思,它们两者都可以改变maven下载项目以来jar包的地址。 仓库(repository) repository就是个…...
框架模块说明 #07 API加密
背景 在实际开发过程中,我们通常会涉及到数据加密的问题。本文重点探讨两个方面:一是外部接口调用时的数据加密,二是服务间调用的数据加密与解密。 对于外部接口调用,每个用户将拥有独立的动态 AES 加密密钥(KEY&…...
安卓BLE蓝牙开发经验分享
注意点一:一开始必须申请权限,否则后面根本无法成功。 注意点二:BLE使用向某个特征写入来发送数据,写入一次默认长度是23字节,必须向蓝牙设备申请更大字节的写入才能发送更多字节。(23字节是BLE通信的最小…...
后缀表达式有什么场景应用
后缀表达式(Reverse Polish Notation, RPN)在多个领域中有广泛的应用,主要由于其简洁性和易于计算机处理的特点。以下是一些主要的应用场景: ### 1. **编译器和解释器** 后缀表达式在编译器和解释器中用于表达式求值。由于后缀表…...
使用 Kubernetes 部署 Redis 主从及 Sentinel 高可用架构(未做共享存储版)
文章目录 使用 Kubernetes 部署 Redis 主从及 Sentinel 高可用架构Redis 主从架构部署 (1.yaml)Redis Sentinel 部署 (2.yaml)Sentinel 服务暴露 (3.yaml)部署步骤总结 使用 Kubernetes 部署 Redis 主从及 Sentinel 高可用架构 本文将详细介绍如何在 Kubernetes 中部署 Redis …...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
