【數據結構——查找】順序查找(頭歌實踐教學平臺習題)【合集】

目錄😋

任務描述

相關知識

測試說明

我的通關代碼:

測試結果:


任務描述

本關任務:實現順序查找的算法。

相關知識

為了完成本關任務,你需要掌握: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.pswp.cn/web/62640.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/62640.shtml
英文地址,請注明出處:http://en.pswp.cn/web/62640.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

光伏電站建設成本利潤估算

?截至2024年9月底,全國光伏發電裝機容量達到7.7億千瓦,同比增長48.4%。其中集中式光伏4.3億千瓦,分布式光伏3.4億千瓦。2024年前三季度,全國光伏發電量6359億千瓦時,同比增長45.5%。全國光伏發電利用率97.2%,同比下降1.1個百分點.早在今年2月份,中國光伏行業協會名譽理…

create-react-app react19 搭建項目報錯

報錯截圖 此時運行會報錯&#xff1a; 解決方法&#xff1a; 1.根據提示安裝依賴法 執行npm i web-vitals然后重新允許 2.刪除文件法 在index.js中刪除對報錯文件的引入&#xff0c;刪除報錯文件

scala的集合性能2

可變集合\n可變集合允許在原地修改數據&#xff0c;適合需要頻繁更新的場景。Scala 的可變集合包括 ArrayBuffer、HashSet和HashMap。 1. ArrayBuffer\nArrayBuffer 是一個可變的動態數組&#xff0c;提供高效的隨機訪問和添加操作。 import scala.collection.mutable.ArrayB…

【Ubuntu】腳本自動化控制終端填充

1.sh腳本文件控制終端寫入命令 在SLAM算法中&#xff0c;每次啟動vins都需要起很多終端&#xff0c;盡管使用了超級終端Terminator可以終端內劃分看起來更加便捷&#xff0c;但是每次起算法的命令還是要自己輸入&#xff0c;已經被麻煩了兩年了&#xff0c;今天突然想寫寫一個…

【自學】Vues基礎

學習目錄 Vues基礎本地應用網絡應用綜合應用 工具的準備 我個人比較喜歡使用HTMLDROWNER&#xff0c;學習資料推薦使用VC&#xff0c;僅供選擇吧 前置知識 HTMLCSSJSAJAX&#xff1a;這個是學習資料博主推薦的 個人感覺認真學好HTMLCSSJS理解vues基礎很容易上手 官方網址…

Scratch 消滅字母小游戲

背景 最近嘗試一邊自學Scratch&#xff0c;一邊嘗試教給小孩&#xff0c;看他打字時在鍵盤上亂打一氣&#xff0c;想起來自己小時候玩過的學習機打字母游戲&#xff0c;就想給他下載一個。結果網上看到的代碼&#xff0c;要么質量太差&#xff08;有26個字母就要寫 26 個判斷&…

python調用matlab函數(內置 + 自定義) —— 安裝matlab.engine

文章目錄 一、簡介二、安裝matlab.engine2.1、基于 CMD 安裝2.2、基于 MATLAB 安裝&#xff08;不建議&#xff09; 三、python調用matlab函數&#xff08;內置 自定義&#xff09; 一、簡介 matlab.engine&#xff08;MATLAB Engine API for Python&#xff09;&#xff1a;…

pytroch環境安裝-pycharm

環境介紹 安裝pycharm 官網下載即可&#xff0c;我這里已經安裝&#xff0c;就不演示了 安裝anaconda 【官網鏈接】點擊下載 注意這一步選擇just me 這一步全部勾上 打開 anaconda Prompt 輸入conda create -n pytorch python3.8 命令解釋&#xff1a;創建一個叫pytorch&…

Photoshop提示錯誤彈窗dll缺失是什么原因?要怎么解決?

Photoshop提示錯誤彈窗“DLL缺失”&#xff1a;原因分析與解決方案 在創意設計與圖像處理領域&#xff0c;Photoshop無疑是眾多專業人士和愛好者的首選工具。然而&#xff0c;在使用Photoshop的過程中&#xff0c;有時會遇到一些令人頭疼的問題&#xff0c;比如突然彈出的錯誤…

自己總結:selenium高階知識

全篇大概10000字&#xff08;含代碼&#xff09;&#xff0c;建議閱讀時間30min 一、等待機制 如果有一些內容是通過Ajax加載的內容&#xff0c;那就需要等待內容加載完畢才能進行下一步操作。 為了避免人為操作等待&#xff0c;會遇到的問題&#xff0c; selenium將等待轉換…

上海亞商投顧:創業板指震蕩調整 機器人概念股再度爆發

上海亞商投顧前言&#xff1a;無懼大盤漲跌&#xff0c;解密龍虎榜資金&#xff0c;跟蹤一線游資和機構資金動向&#xff0c;識別短期熱點和強勢個股。 一.市場情緒 滬指昨日沖高回落&#xff0c;深成指、創業板指盤中跌超1%&#xff0c;尾盤跌幅有所收窄。機器人概念股逆勢爆…

(Linux)CentOS7離線安裝MinIO(超詳細)

目錄 前言1. 下載2. 安裝VMware3. 安裝CentOS4. 離線安裝MinIO4.1. ssh工具連接CentOS4.2. 上傳MinIO離線包4.2.1 創建data目錄4.2.2 上傳RPM包到data目錄4.2.3 安裝RPM包4.2.4 創建MinIO數據目錄4.2.5 配置 MinIO 服務4.2.6 啟動 MinIO4.2.7 開放端口 4.2.8 訪問MinIO 創作不易…

【JavaWeb后端學習筆記】Maven項目管理

Maven 1、分模塊設計2、Maven繼承2.1 繼承關系2.2 版本鎖定 3、Maven聚合4、聚合與繼承的關系 1、分模塊設計 如果一個項目中含有大量的功能模塊。可以考慮將這些功能分模塊設計&#xff0c;逐一進行開發。例如將公共類可以定義在一個項目中&#xff0c;將通用工具類也放在一個…

HarmonyOS-高級(四)

文章目錄 應用開發安全應用DFX能力介紹HiLog使用指導HiAppEvent &#x1f3e1;作者主頁&#xff1a;點擊&#xff01; &#x1f916;HarmonyOS專欄&#xff1a;點擊&#xff01; ??創作時間&#xff1a;2024年12月11日11點18分 應用開發安全 應用隱私保護 隱私聲明彈窗的作…

網絡安全法-網絡運行安全

第三章 網絡運行安全 第一節 一般規定 第二十一條 國家實行網絡安全等級保護制度。網絡運營者應當按照網絡安全等級保護制度的要求&#xff0c;履行下列安全保護義務&#xff0c;保障網絡免受干擾、破壞或者未經授權的訪問&#xff0c;防止網絡數據泄露或者被竊取、篡改&…

論文閱讀:Statistical Comparisons of Classifiers over Multiple Data Sets

論文地址&#xff1a;Statistical Comparisons of Classifiers over Multiple Data Sets (acm.org) 前面在機器學習之Friedman檢驗-CSDN博客 中提到了Friedman檢驗&#xff0c;這里將對這個方法的論文進行詳細的閱讀&#xff0c;以了解其原理。 摘要 盡管用于在單個數據集上比…

【Unity技巧】Unity項目中哪些文件不用管理(.gitignore)

Unity的項目編譯后一般都比較大&#xff0c;動轍幾個G。這里面一般我們只需要把Assets, Packages, ProjectSettings這三個文件夾進行源代碼管理就可以&#xff0c;其他文件就可以通過下面的.gitignore來忽略掉。 .gitignore文件的內容如下&#xff1a; # 將此 .gitignore 文件…

練9:進制轉換

歡迎大家訂閱【藍橋杯Python每日一練】 專欄&#xff0c;開啟你的 Python數據結構與算法 學習之旅&#xff01; 文章目錄 1 進制轉換2 例題分析 1 進制轉換 ①任意制轉為十進制 【示例】 ②十進制轉為任意制 【法一】 【法二】 2 例題分析 題目地址&#xff1a;https:/…

C語言:指針詳解續

一、字符指針變量 我們知道有種指針類型為字符指針(char*)。 #include <stdio.h> int main() {char ch w;char* pch &ch;printf("%c\n", *pch);return 0; } 其實它還有一種使用方式。 #include <stdio.h> int main() {char* pstr "hello…

HarmonyOS-高級(一)

文章目錄 一次開發、多端部署自由流轉 &#x1f3e1;作者主頁&#xff1a;點擊&#xff01; &#x1f916;HarmonyOS專欄&#xff1a;點擊&#xff01; ??創作時間&#xff1a;2024年12月09日12點19分 一次開發、多端部署 布局能力 自適應布局 拉伸能力均分能力占比能力縮放…