C语言编写函数进行顺序查找和折半查找
时间: 2024-01-22 19:21:04 浏览: 77
数据结构实验 折半查找的有关操作
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。
阅读全文