当前位置: 首页 > news >正文

【数据结构——查找】顺序查找(头歌实践教学平台习题)【合集】

目录😋

任务描述

相关知识

测试说明

我的通关代码:

测试结果:


任务描述

本关任务:实现顺序查找的算法。

相关知识

为了完成本关任务,你需要掌握: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;
}

测试结果:


在这里插入图片描述


http://www.mrgr.cn/news/79915.html

相关文章:

  • Ultra-Fast-Lane-Detection复现、部署及训练
  • kill crash原因分析
  • C++ 泛编程 —— 函数模板(中)
  • rman 迁移数据到其他机器实际实验
  • hive—常用的日期函数
  • ES6 混合 ES5学习记录
  • 【数据结构——栈与队列】链栈的基本运算(头歌实践教学平台习题)【合集】
  • 【蓝桥杯每日一题】砍竹子
  • 黑马商城微服务复习(6)
  • MVC配置文件及位置
  • 【C语言】浮点数的原理、整型如何转换成浮点数
  • 计算机组成原理复习
  • 【漏洞复现】CVE-2022-26619 CVE-2022-32994 Arbitrary File Upload
  • 多发电站实现光伏发电预测的统一管理模式
  • CSDN原力值说明
  • mac 安装CosyVoice (cpu版本)
  • 通用定时器之输出比较的功能
  • 0001.简易酒店管理系统后台
  • MOTR: End-to-End Multiple-Object Tracking with Transformer
  • PyQt5入门(四)--------下拉选择框控件(comboBox)