实验题1:实现顺序查找的算法 目的:领会顺序查找的过程和算法设计。 内容:编写一个程序 exp9-1.cpp,输出在顺序表(3,6,2,10,1,8,5,7,4,9)中采用顺序查找方法查找关键字5的过程。
时间: 2025-01-30 09:11:50 浏览: 35
好的,我来为您介绍顺序查找算法,并提供一个实现该实验题目的C++程序。
顺序查找(线性查找)是一种简单的查找算法,它从序列的一端开始,依次比较每个元素,直到找到目标元素或到达序列的另一端。顺序查找的特点是:
1. 不要求数据有序
2. 适用于链式存储结构
3. 查找效率较低,平均时间复杂度为O(n)
下面是实现该实验题目的C++程序:
```cpp
#include <iostream>
using namespace std;
int sequentialSearch(int arr[], int n, int target) {
for (int i = 0; i < n; i++) {
cout << "比较元素: " << arr[i] << endl;
if (arr[i] == target) {
return i; // 找到目标元素,返回索引
}
}
return -1; // 未找到目标元素
}
int main() {
int arr[] = {3, 6, 2, 10, 1, 8, 5, 7, 4, 9};
int n = sizeof(arr) / sizeof(arr[0]);
int target = 5;
cout << "顺序查找过程:" << endl;
int result = sequentialSearch(arr, n, target);
if (result != -1) {
cout << "找到目标元素 " << target << ", 索引为 " << result << endl;
} else {
cout << "未找到目标元素 " << target << endl;
}
return 0;
}
```
这个程序的工作流程如下:
1. 定义一个`sequentialSearch`函数实现顺序查找算法。
2. 在`main`函数中,定义要搜索的数组和目标元素。
3. 调用`sequentialSearch`函数进行查找。
4. 打印查找过程和结果。
程序执行时,会依次比较数组中的每个元素,直到找到目标元素5或遍历完整个数组。
阅读全文