C语言编写函数进行顺序查找和折半查找
时间: 2024-01-22 18:21:04 浏览: 82
1. 顺序查找函数
顺序查找,也称线性查找,是一种简单的查找算法,它从表的一端开始,顺序地扫描每个元素,直到找到目标元素或扫描完整个表。下面是一个使用C语言实现顺序查找的函数:
```c
int sequentialSearch(int arr[], int n, int key) {
for (int i = 0; i < n; i++) {
if (arr[i] == key) {
return i;
}
}
return -1; //未找到
}
```
该函数接收一个整型数组`arr`、数组长度`n`和要查找的关键字`key`,返回关键字在数组中的下标(从0开始),如果未找到则返回-1。
2. 折半查找函数
折半查找,也称二分查找,是一种效率较高的查找算法,它要求被查找的数组必须是有序的,通过不断将查找区间折半,缩小查找范围来进行查找。下面是一个使用C语言实现折半查找的函数:
```c
int binarySearch(int arr[], int n, int key) {
int left = 0, right = n - 1, mid;
while (left <= right) {
mid = (left + right) / 2;
if (arr[mid] == key) {
return mid;
} else if (arr[mid] > key) {
right = mid - 1;
} else {
left = mid + 1;
}
}
return -1; //未找到
}
```
该函数接收一个有序的整型数组`arr`、数组长度`n`和要查找的关键字`key`,返回关键字在数组中的下标(从0开始),如果未找到则返回-1。
阅读全文
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)